Scene — Aspose.3D FOSS for Java
Enumerations
Enumerations Scene klasa w Aspose.3D służy jako główny kontener dla treści 3D, zarządza obiektami najwyższego poziomu i umożliwia zarządzanie relacjami rodzic/dziecko w hierarchii sceny. Zapewnia dostęp do węzłów głównych i podscen, tworząc punkt wejścia do ładowania, konstruowania i zapisywania scen 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 klasa może być zainicjowana bez argumentów, aby utworzyć pustą scenę, lub z opcjonalnymi parametrami.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
entity | Entity | Opcjonalny podmiot do podłączenia do węzła głównego podczas tworzenia |
parentScene | Scene | Opcjonalna scena nadrzędna (dla podscen); wymaga nazwy |
name | String | Nazwa sceny (używana tylko przy dwuelementowym Scene(Scene, String) konstruktor) |
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();Metody klasy
| Enumerations | Typ zwracany | Enumerations |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Ładuje scenę z określonej ścieżki pliku, automatycznie wykrywając format. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Ładuje scenę z opcjami ładowania specyficznymi dla formatu. |
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
Wszystkie właściwości są dostępne za pomocą metod getter/setter.
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Węzeł główny hierarchii sceny |
subScenes | List<Scene> | getSubScenes() | – | Podsceny zagnieżdżone w tej scenie |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadane zasobu, takie jak autor, data utworzenia i jednostki |
animationClips | List<AnimationClip> | getAnimationClips() | – | Klipy animacji zdefiniowane w scenie |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | Obecnie aktywny klip animacji |
library | List<A3DObject> | getLibrary() | – | Obiekty metadanych zdefiniowane przez użytkownika dołączone do sceny |
name | String | getName() | setName(String) | Nazwa obiektu sceny |
properties | PropertyCollection | getProperties() | – | Niestandardowe właściwości dołączone do sceny |
Enumerations
| Enumerations | Typ zwracany | Enumerations |
|---|---|---|
save(String filePath) | void | Zapisuje scenę do pliku; format jest określany na podstawie rozszerzenia |
save(String filePath, FileFormat format) | void | Zapisuje scenę do pliku w określonym FileFormat |
save(String filePath, SaveOptions options) | void | Zapisuje scenę używając opcji zapisu specyficznych dla formatu |
open(String filePath) | void | Otwiera plik w tej scenie; format jest określany na podstawie rozszerzenia |
open(String filePath, LoadOptions options) | void | Otwiera plik z opcjami ładowania specyficznymi dla formatu |
getProperty(String name) | Object | Pobiera wartość właściwości po nazwie |
findProperty(String name) | Property | Znajduje właściwość po nazwie |
createAnimationClip(String name) | AnimationClip | Tworzy nowy nazwany klip animacji i dodaje go do sceny |
getAnimationClip(String name) | AnimationClip | Znajduje istniejący klip animacji po nazwie, lub null jeśli nie zostanie znaleziony |
clear() | void | Czyści całą zawartość sceny |
Enumerations
Utwórz scenę, dodaj węzeł siatki i zapisz 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);