Scene — Aspose.3D FOSS for Java
Example
Example Scene کلاس در Aspose.3D به عنوان کانتینر ریشه برای محتوای سهبعدی عمل میکند، اشیاء سطح بالا را مدیریت میکند و امکان مدیریت روابط والد/فرزند در سلسلهمراتب صحنه را فراهم میسازد. این کلاس دسترسی به گرههای ریشه و زیرصحنهها را فراهم میکند و نقطه ورودی برای بارگذاری، ساخت و ذخیرهسازی صحنههای سهبعدی را تشکیل میدهد.
import com.aspose.threed.Scene;
// Create an empty scene
Scene scene = new Scene();
// Access the root node via getter method
Node root = scene.getRootNode();Example
Example Scene کلاس میتواند بدون آرگومان برای ایجاد یک صحنه خالی یا با پارامترهای اختیاری نمونهسازی شود.
| Example | Example | Example |
|---|---|---|
entity | Entity | موجودیت اختیاری برای پیوست به گره ریشه هنگام ایجاد |
parentScene | Scene | صحنه والد اختیاری (برای زیرصحنهها)؛ نیاز به نام دارد |
name | String | نام صحنه (فقط در صورت استفاده با دو آرگومان) Scene(Scene, String) سازنده) |
import com.aspose.threed.Scene;
// Empty scene
Scene scene = new Scene();
// Scene with an initial entity
Scene scene = new Scene(new Mesh());
// Access the root node (getter method)
Node root = scene.getRootNode();متدهای کلاس
| Example | نوع بازگشت | Example |
|---|---|---|
Scene.fromFile(String filePath) | Scene | یک صحنه را از مسیر فایل مشخص شده بارگذاری میکند و بهصورت خودکار قالب را تشخیص میدهد. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | یک صحنه را با گزینههای بارگذاری مخصوص فرمت بارگذاری میکند. |
import com.aspose.threed.Scene;
// Load from file (format detected from extension)
Scene scene = Scene.fromFile("model.obj");
// Load with options
ObjLoadOptions opts = new ObjLoadOptions();
Scene scene = Scene.fromFile("model.obj", opts);Example
تمام ویژگیها از طریق متدهای getter/setter دسترسی مییابند.
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | گره ریشه در سلسلهمراتب صحنه |
subScenes | List<Scene> | getSubScenes() | – | زیرصحنههای تو در تو در این صحنه |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | متادیتای دارایی مانند نویسنده، تاریخ ایجاد و واحدها |
animationClips | List<AnimationClip> | getAnimationClips() | – | کلیپهای انیمیشن تعریفشده در صحنه |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | کلیپ انیمیشن فعلی فعال |
library | List<A3DObject> | getLibrary() | – | اشیای متادیتای تعریفشده توسط کاربر که به صحنه پیوست شدهاند |
name | String | getName() | setName(String) | نام شیء صحنه |
properties | PropertyCollection | getProperties() | – | ویژگیهای سفارشی پیوستشده به صحنه |
Example
| Example | نوع بازگشت | Example |
|---|---|---|
save(String filePath) | void | صحنه را در فایلی ذخیره میکند؛ قالب از پسوند استخراج میشود |
save(String filePath, FileFormat format) | void | صحنه را در فایلی با فرمت مشخص ذخیره میکند FileFormat |
save(String filePath, SaveOptions options) | void | صحنه را با استفاده از گزینههای ذخیرهسازی مخصوص فرمت ذخیره میکند |
open(String filePath) | void | فایلی را در این صحنه باز میکند؛ فرمت از پسوند استنتاج میشود |
open(String filePath, LoadOptions options) | void | فایلی را با گزینههای بارگذاری مخصوص فرمت باز میکند |
getProperty(String name) | Object | مقدار یک ویژگی را بر اساس نام دریافت میکند |
findProperty(String name) | Property | یک ویژگی را بر اساس نام پیدا میکند |
createAnimationClip(String name) | AnimationClip | یک کلیپ انیمیشن جدید با نام ایجاد میکند و آن را به صحنه اضافه مینماید |
getAnimationClip(String name) | AnimationClip | یک کلیپ انیمیشن موجود را بر اساس نام پیدا میکند، یا null اگر یافت نشد |
clear() | void | تمام محتویات صحنه را پاک میکند |
Example
یک صحنه ایجاد کنید، یک گرهٔ مش اضافه کنید، و به فرمت GLB ذخیره کنید:
import com.aspose.threed.Scene;
import com.aspose.threed.FileFormat;
// Create scene and mesh
Scene scene = new Scene();
Mesh mesh = new Mesh();
mesh.getControlPoints().add(new Vector4(0, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(1, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(0.5, 1, 0, 1));
mesh.createPolygon(0, 1, 2);
// Add node to root
Node node = scene.getRootNode().createChildNode("triangle", mesh);
// Save as GLB
GltfSaveOptions glbOpts = new GltfSaveOptions();
glbOpts.setContentType(FileContentType.BINARY);
scene.save("triangle.glb", glbOpts);