Scene
Methods
Methods Scene klassen i Aspose.3D fungerar som rotbehållare för 3D-innehåll, hanterar objekt på topnivå och möjliggör hantering av förälder/barn-relationer för scenhierarkin. Den ger åtkomst till rotnoder och delscener, och utgör ingångspunkten för att läsa in, konstruera och spara 3D-scener.
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 klassen kan instansieras utan argument för att skapa en tom scen, eller med valfria parametrar.
| Methods | Methods | Methods |
|---|---|---|
name | str | Valfritt namn på scenen |
entity | Entity | Valfri entitet att fästa på rotnoden vid skapande |
parent_scene | Scene | Valfri förälderscen (för delscener) |
from aspose.threed import Scene
# Empty scene
scene = Scene()
# Access the root node (property, not a method)
root = scene.root_nodeKlassmetoder
| Methods | Returtyp | Methods |
|---|---|---|
Scene.from_file(file_path) | Scene | Läser in en scen från den angivna filsökvägen och upptäcker formatet automatiskt. Accepterar exakt ett 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 och andra scen‑nivå attribut är egenskaper; åtkomst utan parenteser.
| Methods | Methods | Methods |
|---|---|---|
root_node | Node | Rotnod i scenhierarkin. Åtkomst som en egenskap: scene.root_node |
sub_scenes | list[Scene] | Delscener inbäddade i denna scen |
asset_info | AssetInfo | Resursmetadata såsom författare, skapelsedatum och enheter |
animation_clips | list[AnimationClip] | Animationsklipp definierade i scenen |
current_animation_clip | `AnimationClip | None` |
library | list[CustomObject] | Användardefinierade metadataobjekt som är bifogade till scenen. |
name | str | Namnet på scenobjektet |
properties | PropertyCollection | Anpassade egenskaper som är bifogade till scenen |
Methods
| Methods | Returtyp | Methods |
|---|---|---|
save(file_path) | None | Sparar scenen till en fil; formatet härleds från filändelsen |
save(file_path, format) | None | Sparar scenen till en fil i den angivna FileFormat |
save(file_path, options) | None | Sparar scenen med format‑specifika sparalternativ |
get_property(name) | Any | Hämtar ett egenskapsvärde efter namn |
find_property(name) | Optional[Property] | Hittar en egenskap efter namn |
create_animation_clip(name) | AnimationClip | Skapar ett nytt namngivet animationsklipp och lägger till det i scenen |
get_animation_clip(name) | `AnimationClip | None` |
clear() | None | Rensar allt innehåll från scenen |
Obs: root_node är en egenskap på Scene klass, inte en metod. Skriv inte scene.root_node(); den korrekta åtkomsten är scene.root_node.
Methods
Skapa en scen, lägg till en mesh‑nod och spara till 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)