Scene
Methods
Methods Scene La clase en Aspose.3D sirve como el contenedor raíz para contenido 3D, gestionando objetos de nivel superior y habilitando la gestión de relaciones padre/hijo para la jerarquía de la escena. Proporciona acceso a nodos raíz y subescenas, formando el punto de entrada para cargar, construir y guardar escenas 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 clase puede instanciarse sin argumentos para crear una escena vacía, o con parámetros opcionales.
| Methods | Methods | Methods |
|---|---|---|
name | str | Nombre opcional de la escena |
entity | Entity | Entidad opcional para adjuntar al nodo raíz al crearla |
parent_scene | Scene | Escena padre opcional (para subescenas) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeMétodos de clase
| Methods | Tipo de retorno | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | Carga una escena desde la ruta de archivo especificada, detectando el formato automáticamente. Acepta exactamente un argumento. |
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 y otros atributos a nivel de escena son propiedades; accédelos sin paréntesis.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | Nodo raíz de la jerarquía de la escena. Accede como una propiedad: scene.root_node |
sub_scenes | list[Scene] | Sub-escenas anidadas dentro de esta escena |
asset_info | AssetInfo | Metadatos del recurso como autor, fecha de creación y unidades |
animation_clips | list[AnimationClip] | Clips de animación definidos en la escena |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | Objetos de metadatos definidos por el usuario adjuntos a la escena. |
name | str | Nombre del objeto de escena |
properties | PropertyCollection | Propiedades personalizadas adjuntas a la escena |
Methods
| Methods | Tipo de retorno | Methods |
|---|---|---|
save(file_path) | None | Guarda la escena en un archivo; el formato se infiere de la extensión |
save(file_path, format) | None | Guarda la escena en un archivo en el especificado FileFormat |
save(file_path, options) | None | Guarda la escena usando opciones de guardado específicas del formato |
get_property(name) | Any | Obtiene el valor de una propiedad por nombre |
find_property(name) | Optional[Property] | Encuentra una propiedad por nombre |
create_animation_clip(name) | AnimationClip | Crea un nuevo clip de animación con nombre y lo agrega a la escena |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | Borra todo el contenido de la escena |
Nota: root_node es un propiedad en el Scene class, no un método. No lo escribas scene.root_node(); el acceso correcto es scene.root_node.
Methods
Crea una escena, agrega un nodo de malla y guárdalo en 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)