Scene — Aspose.3D FOSS for Java
Enumerations
Enumerations Scene la classe in Aspose.3D funge da contenitore radice per i contenuti 3D, gestendo gli oggetti di livello superiore e consentendo la gestione delle relazioni genitore/figlio per la gerarchia della scena. Fornisce l’accesso ai nodi radice e alle sotto‑scene, costituendo il punto di ingresso per il caricamento, la costruzione e il salvataggio delle scene 3D.
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 la classe può essere istanziata senza argomenti per creare una scena vuota, oppure con parametri opzionali.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
entity | Entity | Entità opzionale da collegare al nodo radice al momento della creazione |
parentScene | Scene | Scena genitore opzionale (per sotto‑scene); richiede un nome |
name | String | Nome della scena (usato solo con il costruttore a due argomenti Scene(Scene, String) costruttore) |
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();Metodi di classe
| Enumerations | Tipo di ritorno | Enumerations |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Carica una scena dal percorso file specificato, rilevando automaticamente il formato. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Carica una scena con opzioni di caricamento specifiche per il formato. |
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
Tutte le proprietà sono accessibili tramite metodi getter/setter.
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Nodo radice della gerarchia della scena |
subScenes | List<Scene> | getSubScenes() | – | Sotto‑scene annidate all’interno di questa scena |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadati dell’asset come autore, data di creazione e unità |
animationClips | List<AnimationClip> | getAnimationClips() | – | Clip di animazione definiti nella scena |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | Il clip di animazione attualmente attivo |
library | List<A3DObject> | getLibrary() | – | Oggetti di metadati definiti dall’utente allegati alla scena |
name | String | getName() | setName(String) | Nome dell’oggetto scena |
properties | PropertyCollection | getProperties() | – | Proprietà personalizzate allegate alla scena |
Enumerations
| Enumerations | Tipo di ritorno | Enumerations |
|---|---|---|
save(String filePath) | void | Salva la scena in un file; formato dedotto dall’estensione |
save(String filePath, FileFormat format) | void | Salva la scena in un file nel specificato FileFormat |
save(String filePath, SaveOptions options) | void | Salva la scena usando opzioni di salvataggio specifiche del formato |
open(String filePath) | void | Apre un file in questa scena; formato dedotto dall’estensione |
open(String filePath, LoadOptions options) | void | Apre un file con opzioni di caricamento specifiche del formato |
getProperty(String name) | Object | Ottiene il valore di una proprietà per nome |
findProperty(String name) | Property | Trova una proprietà per nome |
createAnimationClip(String name) | AnimationClip | Crea una nuova clip di animazione con nome e la aggiunge alla scena |
getAnimationClip(String name) | AnimationClip | Trova una clip di animazione esistente per nome, o null se non trovata |
clear() | void | Cancella tutto il contenuto dalla scena |
Enumerations
Crea una scena, aggiungi un nodo mesh e salva in 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);