Scene — Aspose.3D FOSS for Java
Enumerations
Enumerations Scene class i Aspose.3D fungerer som rotbeholder for 3D‑innhold, håndterer objekter på toppnivå og muliggjør administrasjon av forelder/barn‑relasjoner for scenehierarkiet. Den gir tilgang til rotnoder og under‑scener, og utgjør inngangspunktet for lasting, bygging og lagring av 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();Enumerations
Enumerations Scene class kan instansieres uten argumenter for å lage en tom scene, eller med valgfrie parametere.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
entity | Entity | Valgfri enhet som skal festes til rotnoden ved opprettelse |
parentScene | Scene | Valgfri overordnede scene (for under‑scener); krever et navn |
name | String | Scenenavn (kun brukt med 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
| Enumerations | Returtype | Enumerations |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Laster en scene fra den angitte filstien, og oppdager formatet automatisk. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Laster en scene med formatspesifikke lastealternativer. |
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);Enumerations
Alle egenskaper nås via getter/setter‑metoder.
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Rotnode i scenehierarkiet |
subScenes | List<Scene> | getSubScenes() | – | Under‑scener som er nestet i denne scenen |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadata for ressursen, som forfatter, opprettelsesdato og enheter |
animationClips | List<AnimationClip> | getAnimationClips() | – | Animasklipp definert i scenen |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | Den nåværende aktive animasjonsklippet |
library | List<A3DObject> | getLibrary() | – | Brukerdefinerte metadataobjekter festet til scenen |
name | String | getName() | setName(String) | Navn på sceneobjektet |
properties | PropertyCollection | getProperties() | – | Tilpassede egenskaper knyttet til scenen |
Enumerations
| Enumerations | Returtype | Enumerations |
|---|---|---|
save(String filePath) | void | Lagrer scenen til en fil; formatet blir utledet fra filendelsen |
save(String filePath, FileFormat format) | void | Lagrer scenen til en fil i den angitte FileFormat |
save(String filePath, SaveOptions options) | void | Lagrer scenen ved å bruke formatspesifikke lagringsalternativer |
open(String filePath) | void | Åpner en fil i denne scenen; formatet blir antatt ut fra filendelsen |
open(String filePath, LoadOptions options) | void | Åpner en fil med formatspesifikke innlastingsalternativer |
getProperty(String name) | Object | Henter en egenskapsverdi etter navn |
findProperty(String name) | Property | Finner en egenskap etter navn |
createAnimationClip(String name) | AnimationClip | Oppretter et nytt navngitt animation clip og legger det til i scenen |
getAnimationClip(String name) | AnimationClip | Finner et eksisterende animation clip etter navn, eller null hvis ikke funnet |
clear() | void | Fjerner alt innhold fra scenen |
Enumerations
Opprett en scene, legg til en mesh-node, og lagre 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);