Scene — Aspose.3D FOSS for Java
Methods
Methods Scene La clase en Aspose.3D sirve como el contenedor raíz para contenido 3D, gestionando objetos de nivel superior y habilitando la gestión de relaciones padre/hijo para la jerarquía de la escena. Proporciona acceso a nodos raíz y sub‑escenas, formando el punto de entrada para cargar, construir y guardar escenas 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 clase puede instanciarse sin argumentos para crear una escena vacía, o con parámetros opcionales.
| Methods | Methods | Methods |
|---|---|---|
entity | Entity | Entidad opcional para adjuntar al nodo raíz al crearla |
parentScene | Scene | Escena padre opcional (para sub‑escenas); requiere un nombre |
name | String | Nombre de la escena (solo se usa con el constructor de dos argumentos 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étodos de clase
| Methods | Tipo de retorno | Methods |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Carga una escena desde la ruta de archivo especificada, detectando el formato automáticamente. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Carga una escena con opciones de carga específicas del 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);Methods
Todas las propiedades se acceden mediante métodos getter/setter.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Nodo raíz de la jerarquía de la escena |
subScenes | List<Scene> | getSubScenes() | – | Subescenas anidadas dentro de esta escena |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadatos del activo como autor, fecha de creación y unidades |
animationClips | List<AnimationClip> | getAnimationClips() | – | Clips de animación definidos en la escena |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | El clip de animación actualmente activo |
library | List<A3DObject> | getLibrary() | – | Objetos de metadatos definidos por el usuario adjuntos a la escena |
name | String | getName() | setName(String) | Nombre del objeto de escena |
properties | PropertyCollection | getProperties() | – | Propiedades personalizadas adjuntas a la escena |
Methods
| Methods | Tipo de retorno | Methods |
|---|---|---|
save(String filePath) | void | Guarda la escena en un archivo; el formato se infiere de la extensión |
save(String filePath, FileFormat format) | void | Guarda la escena en un archivo en el especificado FileFormat |
save(String filePath, SaveOptions options) | void | Guarda la escena usando opciones de guardado específicas del formato |
open(String filePath) | void | Abre un archivo en esta escena; el formato se infiere de la extensión |
open(String filePath, LoadOptions options) | void | Abre un archivo con opciones de carga específicas del formato |
getProperty(String name) | Object | Obtiene el valor de una propiedad por nombre |
findProperty(String name) | Property | Busca una propiedad por nombre |
createAnimationClip(String name) | AnimationClip | Crea un nuevo clip de animación con nombre y lo agrega a la escena |
getAnimationClip(String name) | AnimationClip | Busca un clip de animación existente por nombre, o null si no se encuentra |
clear() | void | Borra todo el contenido de la escena |
Methods
Crea una escena, agrega un nodo de malla y guárdala en 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);