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)