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

Вижте също

 Български