Scene — Aspose.3D FOSS for Java
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.
import com.aspose.threed.Scene;
// Create an empty scene
Scene scene = new Scene();
// Access the root node via getter method
Node root = scene.getRootNode();Methods
Methods Scene Klasse kann ohne Argumente instanziiert werden, um eine leere Szene zu erstellen, oder mit optionalen Parametern.
| Methods | Methods | Methods |
|---|---|---|
entity | Entity | Optionale Entität, die beim Erstellen an den Wurzelknoten angehängt wird |
parentScene | Scene | Optionale übergeordnete Szene (für Unterszenen); erfordert einen Namen |
name | String | Szenenname (nur verwendet mit dem zweifachen Argument Scene(Scene, String) Konstruktor) |
import com.aspose.threed.Scene;
// Empty scene
Scene scene = new Scene();
// Scene with an initial entity
Scene scene = new Scene(new Mesh());
// Access the root node (getter method)
Node root = scene.getRootNode();Klassenmethoden
| Methods | Rückgabetyp | Methods |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Lädt eine Szene vom angegebenen Dateipfad und erkennt das Format automatisch. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Lädt eine Szene mit format-spezifischen Ladeoptionen. |
import com.aspose.threed.Scene;
// Load from file (format detected from extension)
Scene scene = Scene.fromFile("model.obj");
// Load with options
ObjLoadOptions opts = new ObjLoadOptions();
Scene scene = Scene.fromFile("model.obj", opts);Methods
Alle Eigenschaften werden über Getter/Setter-Methoden zugegriffen.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Wurzelknoten der Szenenhierarchie |
subScenes | List<Scene> | getSubScenes() | – | Unterszenen, die in dieser Szene verschachtelt sind |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Asset-Metadaten wie Autor, Erstellungsdatum und Einheiten |
animationClips | List<AnimationClip> | getAnimationClips() | – | Animationsclips, die in der Szene definiert sind |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | Der aktuell aktive Animationsclip |
library | List<A3DObject> | getLibrary() | – | Benutzerdefinierte Metadatenobjekte, die an die Szene angehängt sind |
name | String | getName() | setName(String) | Name des Szenenobjekts |
properties | PropertyCollection | getProperties() | – | Benutzerdefinierte Eigenschaften, die an die Szene angehängt sind |
Methods
| Methods | Rückgabetyp | Methods |
|---|---|---|
save(String filePath) | void | Speichert die Szene in einer Datei; das Format wird aus der Erweiterung abgeleitet |
save(String filePath, FileFormat format) | void | Speichert die Szene in einer Datei im angegebenen FileFormat |
save(String filePath, SaveOptions options) | void | Speichert die Szene unter Verwendung format-spezifischer Speicheroptionen |
open(String filePath) | void | Öffnet eine Datei in dieser Szene; das Format wird aus der Erweiterung abgeleitet |
open(String filePath, LoadOptions options) | void | Öffnet eine Datei mit format-spezifischen Ladeoptionen |
getProperty(String name) | Object | Liest einen Eigenschaftswert anhand des Namens aus |
findProperty(String name) | Property | Findet eine Eigenschaft anhand des Namens |
createAnimationClip(String name) | AnimationClip | Erstellt einen neuen benannten Animationsclip und fügt ihn der Szene hinzu |
getAnimationClip(String name) | AnimationClip | Findet einen bestehenden Animationsclip anhand des Namens, oder null wenn nicht gefunden |
clear() | void | Löscht den gesamten Inhalt der Szene |
Methods
Erstelle eine Szene, füge einen Mesh‑Node hinzu und speichere sie als GLB:
import com.aspose.threed.Scene;
import com.aspose.threed.FileFormat;
// Create scene and mesh
Scene scene = new Scene();
Mesh mesh = new Mesh();
mesh.getControlPoints().add(new Vector4(0, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(1, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(0.5, 1, 0, 1));
mesh.createPolygon(0, 1, 2);
// Add node to root
Node node = scene.getRootNode().createChildNode("triangle", mesh);
// Save as GLB
GltfSaveOptions glbOpts = new GltfSaveOptions();
glbOpts.setContentType(FileContentType.BINARY);
scene.save("triangle.glb", glbOpts);