Scene — Aspose.3D FOSS for Java
Example
Example 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 rootnodes en subscènes, en vormt het toegangspunt voor het laden, construeren en opslaan van 3D-scènes.
import com.aspose.threed.Scene;
// Create an empty scene
Scene scene = new Scene();
// Access the root node via getter method
Node root = scene.getRootNode();Example
Example Scene klasse kan worden geïnstantieerd zonder argumenten om een lege scène te maken, of met optionele parameters.
| Example | Example | Example |
|---|---|---|
entity | Entity | Optionele entiteit om bij het aanmaken aan de rootnode te koppelen |
parentScene | Scene | Optionele bovenliggende scène (voor sub‑scènes); vereist een naam |
name | String | Scènenaam (alleen gebruikt met de twee‑argument Scene(Scene, String) constructor) |
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();Klasse‑methoden
| Example | Retourtype | Example |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Laadt een scène vanaf het opgegeven bestandspad, waarbij het formaat automatisch wordt gedetecteerd. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Laadt een scène met formaat‑specifieke laadopties. |
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);Example
Alle eigenschappen worden benaderd via getter/setter‑methoden.
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Rootnode van de scenahiërarchie |
subScenes | List<Scene> | getSubScenes() | – | Sub‑scènes genesteld binnen deze scène |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Asset‑metadata zoals auteur, aanmaakdatum en eenheden |
animationClips | List<AnimationClip> | getAnimationClips() | – | Animatie‑clips gedefinieerd in de scène |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | De momenteel actieve animatie‑clip |
library | List<A3DObject> | getLibrary() | – | Door de gebruiker gedefinieerde metadata-objecten gekoppeld aan de scene |
name | String | getName() | setName(String) | Naam van het scene-object |
properties | PropertyCollection | getProperties() | – | Aangepaste eigenschappen gekoppeld aan de scene |
Example
| Example | Retourtype | Example |
|---|---|---|
save(String filePath) | void | Slaat de scene op in een bestand; formaat afgeleid van extensie |
save(String filePath, FileFormat format) | void | Slaat de scene op in een bestand in de opgegeven FileFormat |
save(String filePath, SaveOptions options) | void | Slaat de scene op met formaat‑specifieke opslaan‑opties |
open(String filePath) | void | Opent een bestand in deze scene; formaat afgeleid van extensie |
open(String filePath, LoadOptions options) | void | Opent een bestand met formaat‑specifieke laadopties |
getProperty(String name) | Object | Haalt een eigenschapswaarde op op naam |
findProperty(String name) | Property | Vindt een eigenschap op naam |
createAnimationClip(String name) | AnimationClip | Maakt een nieuwe benoemde animatieclip aan en voegt deze toe aan de scene |
getAnimationClip(String name) | AnimationClip | Vindt een bestaande animatieclip op naam, of null indien niet gevonden |
clear() | void | Verwijdert alle inhoud van de scène |
Example
Maak een scène, voeg een mesh‑knooppunt toe en sla op 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);