Scene
Methods
Methods Scene class w Aspose.3D służy jako główny kontener dla treści 3D, zarządzając obiektami najwyższego poziomu i umożliwiając zarządzanie relacjami rodzic/dziecko w hierarchii sceny. Zapewnia dostęp do węzłów głównych i podscen, tworząc punkt wejścia do ładowania, konstruowania i zapisywania scen 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 class może być instancjonowana bez argumentów, aby utworzyć pustą scenę, lub z opcjonalnymi parametrami.
| Methods | Methods | Methods |
|---|---|---|
name | str | Opcjonalna nazwa sceny |
entity | Entity | Opcjonalna encja do podłączenia do węzła głównego przy tworzeniu |
parent_scene | Scene | Opcjonalna scena nadrzędna (dla podscen) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeMetody klasy
| Methods | Typ zwracany | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | Ładuje scenę z określonej ścieżki pliku, automatycznie wykrywając format. Akceptuje dokładnie jeden 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 inne atrybuty na poziomie sceny są właściwości; uzyskaj dostęp do nich bez nawiasów.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | Główny węzeł hierarchii sceny. Dostęp jako właściwość: scene.root_node |
sub_scenes | list[Scene] | Podsceny zagnieżdżone w tej scenie |
asset_info | AssetInfo | Metadane zasobu, takie jak autor, data utworzenia i jednostki |
animation_clips | list[AnimationClip] | Klipy animacji zdefiniowane w scenie |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | Obiekty metadanych zdefiniowane przez użytkownika dołączone do sceny. |
name | str | Nazwa obiektu sceny |
properties | PropertyCollection | Własne właściwości dołączone do sceny |
Methods
| Methods | Typ zwracany | Methods |
|---|---|---|
save(file_path) | None | Zapisuje scenę do pliku; format jest określany na podstawie rozszerzenia |
save(file_path, format) | None | Zapisuje scenę do pliku w określonym FileFormat |
save(file_path, options) | None | Zapisuje scenę przy użyciu opcji zapisu specyficznych dla formatu |
get_property(name) | Any | Pobiera wartość właściwości po nazwie |
find_property(name) | Optional[Property] | Znajduje właściwość po nazwie |
create_animation_clip(name) | AnimationClip | Tworzy nowy nazwany klip animacji i dodaje go do sceny |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | Czyści całą zawartość sceny |
Uwaga: root_node jest właściwość na Scene klasa, nie metoda. Nie pisz scene.root_node(); prawidłowy dostęp to scene.root_node.
Methods
Utwórz scenę, dodaj węzeł siatki i zapisz do formatu 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)