Scene
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| ————————- | ————————- | ———————————————————————– |
| name | str | Nome opzionale della scena |
| entity | Entity | Entità opzionale da collegare al nodo radice al momento della creazione |
| parent_scene | Scene | Scena genitore opzionale (per sotto‑scene) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeMetodi di classe
| ————————————- | ————— | ————————————————————————————- |
| Scene.from_file(file_path) | Scene | Carica una scena dal percorso file specificato, rilevando automaticamente il formato. |
| Scene.from_file(file_path, options) | Scene | Carica una scena con opzioni di caricamento specifiche per il formato. |
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)root_node e altri attributi a livello di scena sono proprietà; accedervi senza parentesi.
| ————————- | ————————- | ———————————————————————————— |
| root_node | Node | Nodo radice della gerarchia della scena. Accedervi come proprietà: scene.root_node |
| sub_scenes | list[Scene] | Sotto‑scene annidate all’interno di questa scena |
| asset_info | AssetInfo | Metadati dell’asset come autore, data di creazione e unità |
| animation_clips | list[AnimationClip] | Clip di animazione definiti nella scena |
| current_animation_clip | AnimationClip | None | La clip di animazione attualmente attiva. Lettura/scrittura. |
| library | list[CustomObject] | Oggetti di metadati definiti dall’utente allegati alla scena. |
| name | str | Nome dell’oggetto della scena |
| properties | PropertyCollection | Proprietà personalizzate associate alla scena |
| —————————– | ———————- | ———————————————————————— |
| save(file_path) | None | Salva la scena in un file; il formato è dedotto dall’estensione |
| save(file_path, format) | None | Salva la scena in un file nel percorso specificato FileFormat |
| save(file_path, options) | None | Salva la scena usando le opzioni di salvataggio specifiche del formato |
| get_property(name) | Any | Ottiene il valore di una proprietà per nome |
| find_property(name) | Optional[Property] | Trova una proprietà per nome |
| create_animation_clip(name) | AnimationClip | Crea una nuova clip di animazione con nome e la aggiunge alla scena |
| get_animation_clip(name) | AnimationClip | None | Trova una clip di animazione esistente per nome, o None se non trovata |
| clear() | None | Cancella tutto il contenuto dalla scena |
Nota: root_node è un proprietà sulla Scene classe, non un metodo. Non scrivere scene.root_node(); l’accesso corretto è scene.root_node.
Crea una scena, aggiungi un nodo mesh e salva in 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)