Scene
Methods
Methods Scene clasa în Aspose.3D servește ca container rădăcină pentru conținut 3D, gestionând obiectele de nivel superior și permițând gestionarea relațiilor părinte/copil pentru ierarhia scenei. Oferă acces la nodurile rădăcină și sub-scenele, constituind punctul de intrare pentru încărcarea, construirea și salvarea scenelor 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 clasa poate fi instanțiată fără argumente pentru a crea o scenă goală, sau cu parametri opționali.
| Methods | Methods | Methods |
|---|---|---|
name | str | Nume opțional al scenei |
entity | Entity | Entitate opțională de atașat la nodul rădăcină la crearea |
parent_scene | Scene | Scenă părinte opțională (pentru sub-scene) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeMetode de clasă
| Methods | Tip de returnare | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | Încarcă o scenă din calea de fișier specificată, detectând automat formatul. Acceptă exact un argument. |
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 și alte atribute la nivel de scenă sunt proprietăți; accesați-le fără paranteze.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | Nodul rădăcină al ierarhiei scenei. Accesați-l ca proprietate: scene.root_node |
sub_scenes | list[Scene] | Sub-scene imbricate în această scenă |
asset_info | AssetInfo | Metadatele asset-ului, cum ar fi autorul, data creării și unitățile |
animation_clips | list[AnimationClip] | Clipuri de animație definite în scenă |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | Obiecte de metadate definite de utilizator atașate scenei. |
name | str | Numele obiectului scenei |
properties | PropertyCollection | Proprietăți personalizate atașate scenei |
Methods
| Methods | Tipul de returnare | Methods |
|---|---|---|
save(file_path) | None | Salvează scena într-un fișier; formatul este dedus din extensie |
save(file_path, format) | None | Salvează scena într-un fișier în specificat FileFormat |
save(file_path, options) | None | Salvează scena utilizând opțiuni de salvare specifice formatului |
get_property(name) | Any | Obține valoarea unei proprietăţi după nume |
find_property(name) | Optional[Property] | Găsește o proprietate după nume |
create_animation_clip(name) | AnimationClip | Creează un nou clip de animație denumit și îl adaugă în scenă |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | Șterge tot conținutul din scenă |
Notă: root_node este un proprietate pe Scene clasă, nu o metodă. Nu scrie scene.root_node(); accesul corect este scene.root_node.
Methods
Creați o scenă, adăugați un nod mesh și salvați în 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)