Scene

Methods

Methods Scene class в 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_node

Methods

Methods Scene class может быть создана без аргументов для создания пустой сцены, либо с необязательными параметрами.

MethodsMethodsMethods
namestrНеобязательное имя сцены
entityEntityНеобязательная сущность, которую следует присоединить к корневому узлу при создании
parent_sceneSceneНеобязательная родительская сцена (для под-сцен)
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 и другие атрибуты уровня сцены являются свойства; получайте их без скобок.

MethodsMethodsMethods
root_nodeNodeКорневой узел иерархии сцены. Доступ как к свойству: scene.root_node
sub_sceneslist[Scene]Подсцены, вложенные в эту сцену
asset_infoAssetInfoМетаданные ресурса, такие как автор, дата создания и единицы измерения
animation_clipslist[AnimationClip]Клипы анимации, определённые в сцене
current_animation_clip`AnimationClipNone`
librarylist[CustomObject]Пользовательские объекты метаданных, прикреплённые к сцене.
namestrИмя объекта сцены
propertiesPropertyCollectionПользовательские свойства, прикреплённые к сцене

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)`AnimationClipNone`
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)

См. также

 Русский