Scene
Methods
Methods Scene class in Aspose.3D служи като коренов контейнер за 3D съдържание, управлява обекти от най-високо ниво и позволява управление на родителско/дъщерно отношение за йерархията на сцената. Той предоставя достъп до коренови възли и под‑сцени, образувайки входната точка за зареждане, конструиране и запазване на 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 class може да бъде инстанциран без аргументи за създаване на празна сцена, или с опционални параметри.
| 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)