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.

ExampleExampleExample
entityEntityOptionele entiteit om bij het aanmaken aan de rootnode te koppelen
parentSceneSceneOptionele bovenliggende scène (voor sub‑scènes); vereist een naam
nameStringScè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

ExampleRetourtypeExample
Scene.fromFile(String filePath)SceneLaadt een scène vanaf het opgegeven bestandspad, waarbij het formaat automatisch wordt gedetecteerd.
Scene.fromFile(String filePath, LoadOptions options)SceneLaadt 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.

ExampleExampleExampleExampleExample
rootNodeNodegetRootNode()Rootnode van de scenahiërarchie
subScenesList<Scene>getSubScenes()Sub‑scènes genesteld binnen deze scène
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Asset‑metadata zoals auteur, aanmaakdatum en eenheden
animationClipsList<AnimationClip>getAnimationClips()Animatie‑clips gedefinieerd in de scène
currentAnimationClipAnimationClipgetCurrentAnimationClip()setCurrentAnimationClip(AnimationClip)De momenteel actieve animatie‑clip
libraryList<A3DObject>getLibrary()Door de gebruiker gedefinieerde metadata-objecten gekoppeld aan de scene
nameStringgetName()setName(String)Naam van het scene-object
propertiesPropertyCollectiongetProperties()Aangepaste eigenschappen gekoppeld aan de scene

Example

ExampleRetourtypeExample
save(String filePath)voidSlaat de scene op in een bestand; formaat afgeleid van extensie
save(String filePath, FileFormat format)voidSlaat de scene op in een bestand in de opgegeven FileFormat
save(String filePath, SaveOptions options)voidSlaat de scene op met formaat‑specifieke opslaan‑opties
open(String filePath)voidOpent een bestand in deze scene; formaat afgeleid van extensie
open(String filePath, LoadOptions options)voidOpent een bestand met formaat‑specifieke laadopties
getProperty(String name)ObjectHaalt een eigenschapswaarde op op naam
findProperty(String name)PropertyVindt een eigenschap op naam
createAnimationClip(String name)AnimationClipMaakt een nieuwe benoemde animatieclip aan en voegt deze toe aan de scene
getAnimationClip(String name)AnimationClipVindt een bestaande animatieclip op naam, of null indien niet gevonden
clear()voidVerwijdert 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);

Zie ook

 Nederlands