Scene — Aspose.3D FOSS for Java
Methods
Methods Scene la classe a Aspose.3D serveix com a contenidor arrel per al contingut 3D, gestionant els objectes de nivell superior i permetent la gestió de relacions pare/fill per a la jerarquia d’escenes. Proporciona accés als nodes arrel i a les subescenes, formant el punt d’entrada per a carregar, construir i desar escenes 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();Methods
Methods Scene la classe es pot instanciar sense arguments per crear una escena buida, o amb paràmetres opcionals.
| Methods | Methods | Methods |
|---|---|---|
entity | Entity | Entitat opcional per adjuntar al node arrel en la creació |
parentScene | Scene | Escena pare opcional (per a subescenes); requereix un nom |
name | String | Nom de l’escena (només s’utilitza amb el constructor de dos arguments Scene(Scene, String) constructor) |
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();Mètodes de classe
| Methods | Tipus de retorn | Methods |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Carrega una escena des del camí de fitxer especificat, detectant el format automàticament. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Carrega una escena amb opcions de càrrega específiques del format. |
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);Methods
Totes les propietats s’accedeixen mitjançant mètodes getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Node arrel de la jerarquia d’escenes |
subScenes | List<Scene> | getSubScenes() | – | Subescenes imbricades dins d’aquesta escena |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadades de l’actiu com ara l’autor, la data de creació i les unitats |
animationClips | List<AnimationClip> | getAnimationClips() | – | Clips d’animació definits a l’escena |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | El clip d’animació actualment actiu |
library | List<A3DObject> | getLibrary() | – | Objectes de metadades definits per l’usuari adjunts a l’escena |
name | String | getName() | setName(String) | Nom de l’objecte d’escena |
properties | PropertyCollection | getProperties() | – | Propietats personalitzades adjuntes a l’escena |
Methods
| Methods | Tipus de retorn | Methods |
|---|---|---|
save(String filePath) | void | Desa l’escena a un fitxer; el format s’infereix de l’extensió |
save(String filePath, FileFormat format) | void | Desa l’escena a un fitxer en el format especificat FileFormat |
save(String filePath, SaveOptions options) | void | Desa l’escena utilitzant opcions de desament específiques del format |
open(String filePath) | void | Obre un fitxer en aquesta escena; el format s’infereix de l’extensió |
open(String filePath, LoadOptions options) | void | Obre un fitxer amb opcions de càrrega específiques del format |
getProperty(String name) | Object | Obté el valor d’una propietat per nom |
findProperty(String name) | Property | Troba una propietat per nom |
createAnimationClip(String name) | AnimationClip | Crea un nou clip d’animació amb nom i l’afegeix a l’escena |
getAnimationClip(String name) | AnimationClip | Troba un clip d’animació existent per nom, o null si no es troba |
clear() | void | Neteja tot el contingut de l’escena |
Methods
Crea una escena, afegeix un node de malla i desa a 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);