Scene — Aspose.3D FOSS for Java
Enumerations
Enumerations Scene classe em Aspose.3D serve como o contêiner raiz para conteúdo 3D, gerenciando objetos de nível superior e permitindo o gerenciamento de relações pai/filho para a hierarquia da cena. Ela fornece acesso aos nós raiz e subcenas, formando o ponto de entrada para carregar, construir e salvar cenas 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 classe pode ser instanciada sem argumentos para criar uma cena vazia, ou com parâmetros opcionais.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
entity | Entity | Entidade opcional para anexar ao nó raiz na criação |
parentScene | Scene | Cena pai opcional (para subcenas); requer um nome |
name | String | Nome da cena (usado apenas com o construtor de dois argumentos Scene(Scene, String) construtor) |
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 Classe
| Enumerations | Tipo de Retorno | Enumerations |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Carrega uma cena a partir do caminho de arquivo especificado, detectando o formato automaticamente. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Carrega uma cena com opções de carregamento específicas do 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
Todas as propriedades são acessadas via métodos getter/setter.
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Nó raiz da hierarquia da cena |
subScenes | List<Scene> | getSubScenes() | – | Subcenas aninhadas dentro desta cena |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadados do recurso, como autor, data de criação e unidades |
animationClips | List<AnimationClip> | getAnimationClips() | – | Clipes de animação definidos na cena |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | O clipe de animação atualmente ativo |
library | List<A3DObject> | getLibrary() | – | Objetos de metadados definidos pelo usuário anexados à cena |
name | String | getName() | setName(String) | Nome do objeto de cena |
properties | PropertyCollection | getProperties() | – | Propriedades personalizadas anexadas à cena |
Enumerations
| Enumerations | Tipo de Retorno | Enumerations |
|---|---|---|
save(String filePath) | void | Salva a cena em um arquivo; formato inferido a partir da extensão |
save(String filePath, FileFormat format) | void | Salva a cena em um arquivo no especificado FileFormat |
save(String filePath, SaveOptions options) | void | Salva a cena usando opções de salvamento específicas do formato |
open(String filePath) | void | Abre um arquivo nesta cena; formato inferido a partir da extensão |
open(String filePath, LoadOptions options) | void | Abre um arquivo com opções de carregamento específicas do formato |
getProperty(String name) | Object | Obtém o valor de uma propriedade pelo nome |
findProperty(String name) | Property | Encontra uma propriedade pelo nome |
createAnimationClip(String name) | AnimationClip | Cria um novo clipe de animação nomeado e o adiciona à cena |
getAnimationClip(String name) | AnimationClip | Encontra um clipe de animação existente pelo nome, ou null se não encontrado |
clear() | void | Limpa todo o conteúdo da cena |
Enumerations
Crie uma cena, adicione um nó de malha e salve em 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);