Scene — Aspose.3D FOSS for Java

Example

Example Scene class i Aspose.3D fungerer som rodkontainer for 3D-indhold, håndterer top‑niveau objekter og muliggør styring af forælder/barn‑relationer for scenens hierarki. Den giver adgang til rodknotter og under‑scener og udgør indgangspunktet for indlæsning, konstruktion og gemning af 3D‑scener.

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 class kan instantieres uden argumenter for at oprette en tom scene, eller med valgfrie parametre.

ExampleExampleExample
entityEntityValgfri enhed, der skal vedhæftes rodknoten ved oprettelse
parentSceneSceneValgfri overordnede scene (for under‑scener); kræver et navn
nameStringScenens navn (kun brugt med den to‑argument Scene(Scene, String) konstruktør)
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();

Klassemetoder

ExampleReturtypeExample
Scene.fromFile(String filePath)SceneIndlæser en scene fra den angivne filsti og registrerer automatisk formatet.
Scene.fromFile(String filePath, LoadOptions options)SceneIndlæser en scene med format‑specifikke indlæsningsindstillinger.
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 egenskaber tilgås via getter/setter‑metoder.

ExampleExampleExampleExampleExample
rootNodeNodegetRootNode()Rodenode i scenens hierarki
subScenesList<Scene>getSubScenes()Under‑scener indlejret i denne scene
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Asset‑metadata såsom forfatter, oprettelsesdato og enheder
animationClipsList<AnimationClip>getAnimationClips()Animationsklip defineret i scenen
currentAnimationClipAnimationClipgetCurrentAnimationClip()setCurrentAnimationClip(AnimationClip)Det aktuelt aktive animationsklip
libraryList<A3DObject>getLibrary()Brugerdefinerede metadataobjekter knyttet til scenen
nameStringgetName()setName(String)Navn på sceneobjektet
propertiesPropertyCollectiongetProperties()Tilpassede egenskaber knyttet til scenen

Example

ExampleReturtypeExample
save(String filePath)voidGemmer scenen til en fil; formatet udledes af filendelsen
save(String filePath, FileFormat format)voidGemmer scenen til en fil i den angivne FileFormat
save(String filePath, SaveOptions options)voidGemmer scenen ved hjælp af format‑specifikke gemmeindstillinger
open(String filePath)voidÅbner en fil i denne scene; formatet udledes af filendelsen
open(String filePath, LoadOptions options)voidÅbner en fil med format‑specifikke indlæsningsindstillinger
getProperty(String name)ObjectHenter en egenskabs værdi efter navn
findProperty(String name)PropertyFinder en egenskab efter navn
createAnimationClip(String name)AnimationClipOpretter et nyt navngivet animationsklip og tilføjer det til scenen
getAnimationClip(String name)AnimationClipFinder et eksisterende animationsklip efter navn, eller null hvis det ikke findes
clear()voidRydder alt indhold fra scenen

Example

Opret en scene, tilføj en mesh‑node, og gem til 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);

Se også

 Dansk