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.
| Example | Example | Example |
|---|---|---|
entity | Entity | Valfri entitet att fästa på rotnoden vid skapande |
parentScene | Scene | Valfri förälderscen (för delscener); kräver ett namn |
name | String | Scennamn (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
| Example | Returtyp | Example |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Läser in en scen från den angivna filsökvägen och upptäcker formatet automatiskt. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Lä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.
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Rotnod i scenhierarkin |
subScenes | List<Scene> | getSubScenes() | – | Delscener inbäddade i denna scen |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Tillgångsmetadata såsom författare, skapelsedatum och enheter |
animationClips | List<AnimationClip> | getAnimationClips() | – | Animationsklipp definierade i scenen |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | Det för närvarande aktiva animationsklippet |
library | List<A3DObject> | getLibrary() | – | Användardefinierade metadataobjekt kopplade till scenen |
name | String | getName() | setName(String) | Namn på scenobjektet |
properties | PropertyCollection | getProperties() | – | Anpassade egenskaper kopplade till scenen |
Example
| Example | Returtyp | Example |
|---|---|---|
save(String filePath) | void | Sparar scenen till en fil; formatet härleds från filändelsen |
save(String filePath, FileFormat format) | void | Sparar scenen till en fil i den angivna FileFormat |
save(String filePath, SaveOptions options) | void | Sparar 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) | Object | Hämtar ett egenskapsvärde efter namn |
findProperty(String name) | Property | Hittar en egenskap efter namn |
createAnimationClip(String name) | AnimationClip | Skapar ett nytt namngivet animationsklipp och lägger till det i scenen |
getAnimationClip(String name) | AnimationClip | Hittar ett befintligt animationsklipp efter namn, eller null om det inte hittas |
clear() | void | Rensar 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);