Scene — Aspose.3D FOSS for Java
Example
Example Scene class in Aspose.3D slúži ako koreňový kontajner pre 3D obsah, spravuje objekty najvyššej úrovne a umožňuje správu vzťahov rodič/dieťa v hierarchii scény. Poskytuje prístup ku koreňovým uzlom a podscénam, tvoriac vstupný bod pre načítanie, konštruovanie a ukladanie 3D scén.
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 je možné inštancovať bez argumentov na vytvorenie prázdnej scény, alebo s voliteľnými parametrami.
| Example | Example | Example |
|---|---|---|
entity | Entity | Voliteľná entita, ktorá sa má pripojiť ku koreňovému uzlu pri vytvorení |
parentScene | Scene | Voliteľná nadradená scéna (pre podscény); vyžaduje názov |
name | String | Názov scény (používa sa iba s dvojargumentovým Scene(Scene, String) konstruktorom) |
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();Metódy triedy
| Example | Návratový typ | Example |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Načíta scénu zo zadaného súborového cesty, pričom automaticky detekuje formát. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Načíta scénu s možnosťami načítania špecifickými pre formát. |
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
Všetky vlastnosti sa pristupuje prostredníctvom metód getter/setter.
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Koreňový uzol hierarchie scény |
subScenes | List<Scene> | getSubScenes() | – | Podscény vnorené v tejto scéne |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadáta aktíva, ako je autor, dátum vytvorenia a jednotky |
animationClips | List<AnimationClip> | getAnimationClips() | – | Animácie definované v scéne |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | Aktuálne aktívny animačný klip |
library | List<A3DObject> | getLibrary() | – | Užívateľom definované objekty metadát pripojené k scéne |
name | String | getName() | setName(String) | Názov objektu scény |
properties | PropertyCollection | getProperties() | – | Vlastné vlastnosti priradené scéne |
Example
| Example | Návratový typ | Example |
|---|---|---|
save(String filePath) | void | Uloží scénu do súboru; formát je odvodený od prípony |
save(String filePath, FileFormat format) | void | Uloží scénu do súboru v určenom FileFormat |
save(String filePath, SaveOptions options) | void | Uloží scénu pomocou špecifických možností ukladania pre daný formát |
open(String filePath) | void | Otvorí súbor v tejto scéne; formát je odvodený od prípony |
open(String filePath, LoadOptions options) | void | Otvorí súbor s možnosťami načítania špecifickými pre formát |
getProperty(String name) | Object | Získa hodnotu vlastnosti podľa názvu |
findProperty(String name) | Property | Nájde vlastnosť podľa názvu |
createAnimationClip(String name) | AnimationClip | Vytvorí nový pomenovaný animačný klip a pridá ho do scény |
getAnimationClip(String name) | AnimationClip | Nájde existujúci animačný klip podľa názvu, alebo null ak nie je nájdený |
clear() | void | Vymaže celý obsah scény |
Example
Vytvorte scénu, pridajte uzol mesh a uložte do 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);