Scene — Aspose.3D FOSS for Java

Example

Example Scene klass 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.

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 klass kan instansieras utan argument för att skapa en tom scen, eller med valfria parametrar.

ExampleExampleExample
entityEntityValfri entitet att fästa på rotnoden vid skapande
parentSceneSceneValfri förälderscen (för delscener); kräver ett namn
nameStringScennamn (används endast med två-argument Scene(Scene, String) konstruktorn)
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();

Klassmetoder

ExampleReturtypExample
Scene.fromFile(String filePath)SceneLäser in en scen från den angivna filsökvägen och upptäcker formatet automatiskt.
Scene.fromFile(String filePath, LoadOptions options)SceneLäser in en scen med format‑specifika inläsningsalternativ.
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

Alla egenskaper nås via getter-/setter‑metoder.

ExampleExampleExampleExampleExample
rootNodeNodegetRootNode()Rotnod i scenhierarkin
subScenesList<Scene>getSubScenes()Delscener inbäddade i denna scen
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Tillgångsmetadata såsom författare, skapelsedatum och enheter
animationClipsList<AnimationClip>getAnimationClips()Animationsklipp definierade i scenen
currentAnimationClipAnimationClipgetCurrentAnimationClip()setCurrentAnimationClip(AnimationClip)Det för närvarande aktiva animationsklippet
libraryList<A3DObject>getLibrary()Användardefinierade metadataobjekt kopplade till scenen
nameStringgetName()setName(String)Namn på scenobjektet
propertiesPropertyCollectiongetProperties()Anpassade egenskaper kopplade till scenen

Example

ExampleReturtypExample
save(String filePath)voidSparar scenen till en fil; formatet härleds från filändelsen
save(String filePath, FileFormat format)voidSparar scenen till en fil i den angivna FileFormat
save(String filePath, SaveOptions options)voidSparar scenen med format‑specifika sparalternativ
open(String filePath)voidÖppnar en fil i den här scenen; formatet härleds från filändelsen
open(String filePath, LoadOptions options)voidÖppnar en fil med format‑specifika läsalternativ
getProperty(String name)ObjectHämtar ett egenskapsvärde efter namn
findProperty(String name)PropertyHittar en egenskap efter namn
createAnimationClip(String name)AnimationClipSkapar ett nytt namngivet animationsklipp och lägger till det i scenen
getAnimationClip(String name)AnimationClipHittar ett befintligt animationsklipp efter namn, eller null om det inte hittas
clear()voidRensar allt innehåll från scenen

Example

Skapa en scen, lägg till en mesh‑nod och spara till 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 även

 Svenska