Scene
Methods
Methods Scene la classe a Aspose.3D serveix com a contenidor arrel per al contingut 3D, gestionant els objectes de nivell superior i permetent la gestió de relacions pare/filla per a la jerarquia d’escena. Proporciona accés als nodes arrel i a les subescenes, formant el punt d’entrada per a carregar, construir i desar escenes 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 La classe es pot instanciar sense arguments per crear una escena buida, o amb paràmetres opcionals.
| Methods | Methods | Methods |
|---|---|---|
name | str | Nom opcional de l’escena |
entity | Entity | Entitat opcional per adjuntar al node arrel en la creació |
parent_scene | Scene | Escena pare opcional (per a subescenes) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeMètodes de classe
| Methods | Tipus de retorn | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | Carrega una escena des del camí de fitxer especificat, detectant el format automàticament. |
Scene.from_file(file_path, options) | Scene | Carrega una escena amb opcions de càrrega específiques del format. |
from aspose.threed import Scene
from aspose.threed.formats import ObjLoadOptions
# Load from file (format detected from extension)
scene = Scene.from_file("model.obj")
# Load with options
opts = ObjLoadOptions()
scene = Scene.from_file("model.obj", opts)Methods
root_node i altres atributs a nivell d’escena són propietats; accediu-hi sense parèntesis.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | Node arrel de la jerarquia d’escenes. Accés com a propietat: scene.root_node |
sub_scenes | list[Scene] | Subescenes incrustades dins d’aquesta escena |
asset_info | AssetInfo | Metadades de l’actiu com ara autor, data de creació i unitats |
animation_clips | list[AnimationClip] | Clips d’animació definits a l’escena |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | Objectes de metadades definits per l’usuari adjunts a l’escena. |
name | str | Nom de l’objecte d’escena |
properties | PropertyCollection | Propietats personalitzades adjuntes a l’escena |
Methods
| Methods | Tipus de retorn | Methods |
|---|---|---|
save(file_path) | None | Desa l’escena a un fitxer; el format s’infereix de l’extensió |
save(file_path, format) | None | Desa l’escena a un fitxer en el format especificat FileFormat |
save(file_path, options) | None | Desa l’escena utilitzant opcions de desament específiques del format |
get_property(name) | Any | Obté el valor d’una propietat per nom |
find_property(name) | Optional[Property] | Troba una propietat per nom |
create_animation_clip(name) | AnimationClip | Crea un nou clip d’animació amb nom i l’afegeix a l’escena |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | Neteja tot el contingut de l’escena |
Nota: root_node és un propietat a la Scene classe, no un mètode. No escriguis scene.root_node(); l’accés correcte és scene.root_node.
Methods
Creeu una escena, afegiu un node de malla i deseu a 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
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)