Scene
Methods
Methods Scene کلاس در Aspose.3D به عنوان کانتینر ریشه برای محتوای سهبعدی عمل میکند، اشیاء سطح بالا را مدیریت میکند و امکان مدیریت روابط والد/فرزند برای سلسلهمراتب صحنه را فراهم میسازد. این کلاس دسترسی به گرههای ریشه و زیرصحنهها را فراهم میکند و نقطه ورودی برای بارگذاری، ساخت و ذخیرهسازی صحنههای سهبعدی است.
from aspose.threed import Scene
# Create an empty scene
scene = Scene()
# Access the root node: root_node is a property, not a method call
root = scene.root_nodeMethods
Methods Scene کلاس میتواند بدون هیچ آرگومانی نمونهسازی شود تا یک صحنه خالی ایجاد کند، یا با پارامترهای اختیاری.
| Methods | Methods | Methods |
|---|---|---|
name | str | نام اختیاری صحنه |
entity | Entity | موجودیت اختیاری برای پیوست به گره ریشه هنگام ایجاد |
parent_scene | Scene | صحنه والد اختیاری (برای زیرصحنهها) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeمتدهای کلاس
| Methods | نوع بازگشت | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | صحنهای را از مسیر فایل مشخص شده بارگذاری میکند و بهصورت خودکار فرمت را تشخیص میدهد. دقیقاً یک آرگومان میپذیرد. |
from aspose.threed import Scene
from aspose.threed.formats import ObjLoadOptions
# Load from file (format detected from extension)
scene = Scene.from_file("model.obj")
# To pass load options, use scene.open() instead:
opts = ObjLoadOptions()
scene = Scene()
scene.open("model.obj", opts)Methods
root_node و سایر ویژگیهای سطح صحنه عبارتند از ویژگیها; بدون پرانتز به آنها دسترسی پیدا کنید.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | گره ریشهٔ سلسلهمراتب صحنه. بهعنوان یک ویژگی دسترسی داشته باشید: scene.root_node |
sub_scenes | list[Scene] | زیرصحنههای تو در تو درون این صحنه |
asset_info | AssetInfo | فرادادههای دارایی مانند نویسنده، تاریخ ایجاد و واحدها |
animation_clips | list[AnimationClip] | کلیپهای انیمیشن تعریفشده در صحنه |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | اشیای فراداده تعریفشده توسط کاربر که به صحنه پیوست شدهاند. |
name | str | نام شیء صحنه |
properties | PropertyCollection | ویژگیهای سفارشی پیوستشده به صحنه |
Methods
| Methods | نوع بازگشت | Methods |
|---|---|---|
save(file_path) | None | صحنه را در یک فایل ذخیره میکند؛ قالب بر اساس پسوند تعیین میشود |
save(file_path, format) | None | صحنه را در فایلی در مکان مشخص شده ذخیره میکند FileFormat |
save(file_path, options) | None | صحنه را با استفاده از گزینههای ذخیرهسازی مخصوص فرمت ذخیره میکند |
get_property(name) | Any | مقدار یک ویژگی را بر اساس نام دریافت میکند |
find_property(name) | Optional[Property] | یک ویژگی را بر اساس نام پیدا میکند |
create_animation_clip(name) | AnimationClip | یک کلیپ انیمیشن جدید با نام ایجاد میکند و آن را به صحنه اضافه مینماید |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | تمام محتویات صحنه را پاک میکند |
توجه: root_node یک ویژگی در Scene کلاس، نه یک متد. ننویسید scene.root_node(); دسترسی صحیح این است scene.root_node.
Methods
یک صحنه ایجاد کنید، یک گرهٔ مش اضافه کنید، و به فرمت GLB ذخیره کنید:
from aspose.threed import Scene
from aspose.threed.entities import Mesh
from aspose.threed.formats import GltfSaveOptions
from aspose.threed.utilities import Vector4
# Create scene and mesh
# Note: control_points returns a copy — use _control_points to add vertices
scene = Scene()
mesh = Mesh()
mesh._control_points.append(Vector4(0, 0, 0, 1))
mesh._control_points.append(Vector4(1, 0, 0, 1))
mesh._control_points.append(Vector4(0.5, 1, 0, 1))
mesh.create_polygon(0, 1, 2)
# Add node to root: root_node is a property
node = scene.root_node.create_child_node("triangle", mesh)
# Save as GLB using GltfSaveOptions with binary_mode
opts = GltfSaveOptions()
opts.binary_mode = True
scene.save("triangle.glb", opts)