Scene
Methods
Methods Scene Klasse in Aspose.3D dient als Wurzelcontainer für 3D‑Inhalte, verwaltet Objekte der obersten Ebene und ermöglicht die Verwaltung von Eltern/Kind‑Beziehungen für die Szenenhierarchie. Sie bietet Zugriff auf Wurzelknoten und Unterszenen und bildet den Einstiegspunkt zum Laden, Erstellen und Speichern von 3D‑Szenen.
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 Klasse kann ohne Argumente instanziiert werden, um eine leere Szene zu erstellen, oder mit optionalen Parametern.
| Methods | Methods | Methods |
|---|---|---|
name | str | Optionaler Name der Szene |
entity | Entity | Optionale Entität, die beim Erstellen an den Wurzelknoten angehängt wird |
parent_scene | Scene | Optionale übergeordnete Szene (für Unterszenen) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeKlassenmethoden
| Methods | Rückgabetyp | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | Lädt eine Szene vom angegebenen Dateipfad und erkennt das Format automatisch. Akzeptiert genau ein 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 und andere szenenbezogene Attribute sind Eigenschaften; greift darauf zu, ohne Klammern.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | Wurzelknoten der Szenenhierarchie. Zugriff als Eigenschaft: scene.root_node |
sub_scenes | list[Scene] | Unter‑Szenen, die in dieser Szene verschachtelt sind |
asset_info | AssetInfo | Asset-Metadaten wie Autor, Erstellungsdatum und Einheiten |
animation_clips | list[AnimationClip] | Animationsclips, die in der Szene definiert sind |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | Benutzerdefinierte Metadatenobjekte, die an die Szene angehängt sind. |
name | str | Name des Szenenobjekts |
properties | PropertyCollection | Benutzerdefinierte Eigenschaften, die an die Szene angehängt sind |
Methods
| Methods | Rückgabetyp | Methods |
|---|---|---|
save(file_path) | None | Speichert die Szene in einer Datei; das Format wird aus der Erweiterung abgeleitet |
save(file_path, format) | None | Speichert die Szene in einer Datei im angegebenen FileFormat |
save(file_path, options) | None | Speichert die Szene unter Verwendung formatspezifischer Speicheroptionen |
get_property(name) | Any | Ermittelt einen Eigenschaftswert nach Namen |
find_property(name) | Optional[Property] | Findet eine Eigenschaft nach Namen |
create_animation_clip(name) | AnimationClip | Erstellt einen neuen benannten Animationsclip und fügt ihn zur Szene hinzu |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | Löscht allen Inhalt aus der Szene |
Hinweis: root_node ist ein Eigenschaft auf dem Scene Klasse, nicht eine Methode. Nicht schreiben scene.root_node(); der korrekte Zugriff ist scene.root_node.
Methods
Erstelle eine Szene, füge einen Mesh‑Node hinzu und speichere sie als 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)