Scene
Methods
Methods Scene klasse in Aspose.3D dient als de hoofdcontainer voor 3D-inhoud, beheert objecten op het hoogste niveau en maakt beheer van ouder/kind‑relaties voor de scenahiërarchie mogelijk. Het biedt toegang tot rootknooppunten en subscènes, en vormt het toegangspunt voor het laden, construeren en opslaan van 3D‑scènes.
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 kan worden geïnstantieerd zonder argumenten om een lege scène te maken, of met optionele parameters.
| Methods | Methods | Methods |
|---|---|---|
name | str | Optionele naam van de scène |
entity | Entity | Optionele entiteit om bij het aanmaken aan het rootknooppunt te koppelen |
parent_scene | Scene | Optionele bovenliggende scène (voor sub‑scènes) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeKlasse‑methoden
| Methods | Retourtype | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | Laadt een scène vanaf het opgegeven bestandspad, waarbij het formaat automatisch wordt gedetecteerd. Accepteert precies één 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 en andere scène‑niveau attributen zijn eigenschappen; toegang tot ze zonder haakjes.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | Rootknooppunt van de scenahiërarchie. Toegang als een eigenschap: scene.root_node |
sub_scenes | list[Scene] | Sub‑scènes genesteld binnen deze scène |
asset_info | AssetInfo | Asset‑metadata zoals auteur, aanmaakdatum en eenheden |
animation_clips | list[AnimationClip] | Animatie‑clips gedefinieerd in de scène |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | Door de gebruiker gedefinieerde metadata‑objecten gekoppeld aan de scène. |
name | str | Naam van het scène‑object |
properties | PropertyCollection | Aangepaste eigenschappen gekoppeld aan de scène |
Methods
| Methods | Retourtype | Methods |
|---|---|---|
save(file_path) | None | Slaat de scène op in een bestand; formaat wordt afgeleid van de extensie |
save(file_path, format) | None | Slaat de scène op in een bestand in de opgegeven FileFormat |
save(file_path, options) | None | Slaat de scène op met formaat‑specifieke opslagopties |
get_property(name) | Any | Haalt een eigenschapswaarde op op naam |
find_property(name) | Optional[Property] | Vindt een eigenschap op naam |
create_animation_clip(name) | AnimationClip | Maakt een nieuwe benoemde animatieclip aan en voegt deze toe aan de scène |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | Verwijdert alle inhoud uit de scène |
Opmerking: root_node is een eigenschap op de Scene klasse, geen methode. Schrijf niet scene.root_node(); de juiste toegang is scene.root_node.
Methods
Maak een scène, voeg een mesh‑node toe, en sla op 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)