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 کلاس می‌تواند بدون آرگومان برای ایجاد یک صحنه خالی یا با پارامترهای اختیاری نمونه‌سازی شود.

ExampleExampleExample
entityEntityموجودیت اختیاری برای پیوست به گره ریشه هنگام ایجاد
parentSceneSceneصحنه والد اختیاری (برای زیرصحنه‌ها)؛ نیاز به نام دارد
nameStringنام صحنه (فقط در صورت استفاده با دو آرگومان) 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 دسترسی می‌یابند.

ExampleExampleExampleExampleExample
rootNodeNodegetRootNode()گره ریشه در سلسله‌مراتب صحنه
subScenesList<Scene>getSubScenes()زیرصحنه‌های تو در تو در این صحنه
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)متادیتای دارایی مانند نویسنده، تاریخ ایجاد و واحدها
animationClipsList<AnimationClip>getAnimationClips()کلیپ‌های انیمیشن تعریف‌شده در صحنه
currentAnimationClipAnimationClipgetCurrentAnimationClip()setCurrentAnimationClip(AnimationClip)کلیپ انیمیشن فعلی فعال
libraryList<A3DObject>getLibrary()اشیای متادیتای تعریف‌شده توسط کاربر که به صحنه پیوست شده‌اند
nameStringgetName()setName(String)نام شیء صحنه
propertiesPropertyCollectiongetProperties()ویژگی‌های سفارشی پیوست‌شده به صحنه

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);

موارد مرتبط

 فارسی