Scene
Methods
Methods Scene classe em Aspose.3D serve como o contêiner raiz para conteúdo 3D, gerenciando objetos de nível superior e permitindo o gerenciamento de relações pai/filho para a hierarquia da cena. Ela fornece acesso aos nós raiz e subcenas, formando o ponto de entrada para carregar, construir e salvar cenas 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 A classe pode ser instanciada sem argumentos para criar uma cena vazia, ou com parâmetros opcionais.
| Methods | Methods | Methods |
|---|---|---|
name | str | Nome opcional da cena |
entity | Entity | Entidade opcional a ser anexada ao nó raiz na criação |
parent_scene | Scene | Cena pai opcional (para subcenas) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeMétodos de Classe
| Methods | Tipo de Retorno | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | Carrega uma cena a partir do caminho de arquivo especificado, detectando o formato automaticamente. Aceita exatamente um 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 e outros atributos ao nível da cena são propriedades; acesse-os sem parênteses.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | Nó raiz da hierarquia da cena. Acesse como uma propriedade: scene.root_node |
sub_scenes | list[Scene] | Subcenas aninhadas dentro desta cena |
asset_info | AssetInfo | Metadados do recurso, como autor, data de criação e unidades |
animation_clips | list[AnimationClip] | Clipes de animação definidos na cena |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | Objetos de metadados definidos pelo usuário anexados à cena. |
name | str | Nome do objeto de cena |
properties | PropertyCollection | Propriedades personalizadas anexadas à cena |
Methods
| Methods | Tipo de retorno | Methods |
|---|---|---|
save(file_path) | None | Salva a cena em um arquivo; formato inferido a partir da extensão |
save(file_path, format) | None | Salva a cena em um arquivo no especificado FileFormat |
save(file_path, options) | None | Salva a cena usando opções de salvamento específicas do formato |
get_property(name) | Any | Obtém o valor de uma propriedade pelo nome |
find_property(name) | Optional[Property] | Encontra uma propriedade pelo nome |
create_animation_clip(name) | AnimationClip | Cria um novo clipe de animação nomeado e o adiciona à cena |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | Limpa todo o conteúdo da cena |
Observação: root_node é um propriedade no Scene classe, não um método. Não escreva scene.root_node(); o acesso correto é scene.root_node.
Methods
Crie uma cena, adicione um nó de malha e salve em 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)