Scene — Aspose.3D FOSS for Java
Enumerations
Enumerations Scene kelas dalam Aspose.3D berfungsi sebagai kontena akar untuk kandungan 3D, mengurus objek peringkat atas dan membolehkan pengurusan hubungan ibu/bapa-anak untuk hierarki adegan. Ia menyediakan akses kepada nod akar dan sub-adegan, membentuk titik masuk untuk memuatkan, membina, dan menyimpan adegan 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 kelas boleh diinstansikan tanpa argumen untuk mencipta adegan kosong, atau dengan parameter pilihan.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
entity | Entity | Entiti pilihan untuk dilampirkan kepada nod akar semasa penciptaan |
parentScene | Scene | Adegan induk pilihan (untuk sub-adegan); memerlukan nama |
name | String | Nama adegan (hanya digunakan dengan konstruktor dua-argumen 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();Kaedah Kelas
| Enumerations | Jenis Pulangan | Enumerations |
|---|---|---|
Scene.fromFile(String filePath) | Scene | Muatkan adegan dari laluan fail yang ditentukan, mengesan format secara automatik. |
Scene.fromFile(String filePath, LoadOptions options) | Scene | Muatkan adegan dengan pilihan muat khusus 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);Enumerations
Semua sifat diakses melalui kaedah getter/setter.
| Enumerations | Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|---|
rootNode | Node | getRootNode() | – | Nod akar hierarki adegan |
subScenes | List<Scene> | getSubScenes() | – | Sub-adegan yang bersarang dalam adegan ini |
assetInfo | AssetInfo | getAssetInfo() | setAssetInfo(AssetInfo) | Metadata aset seperti pengarang, tarikh penciptaan, dan unit |
animationClips | List<AnimationClip> | getAnimationClips() | – | Klip animasi yang ditakrifkan dalam adegan |
currentAnimationClip | AnimationClip | getCurrentAnimationClip() | setCurrentAnimationClip(AnimationClip) | Klip animasi yang sedang aktif |
library | List<A3DObject> | getLibrary() | – | Objek metadata yang ditakrifkan pengguna dilampirkan kepada adegan |
name | String | getName() | setName(String) | Nama objek adegan |
properties | PropertyCollection | getProperties() | – | Sifat tersuai yang dilampirkan pada adegan |
Enumerations
| Enumerations | Jenis Pulangan | Enumerations |
|---|---|---|
save(String filePath) | void | Menyimpan adegan ke dalam fail; format ditentukan daripada sambungan |
save(String filePath, FileFormat format) | void | Menyimpan adegan ke dalam fail dalam yang ditentukan FileFormat |
save(String filePath, SaveOptions options) | void | Menyimpan adegan menggunakan pilihan simpan khusus format |
open(String filePath) | void | Membuka fail ke dalam adegan ini; format disimpulkan daripada sambungan |
open(String filePath, LoadOptions options) | void | Membuka fail dengan pilihan muat khusus format |
getProperty(String name) | Object | Mendapatkan nilai sifat mengikut nama |
findProperty(String name) | Property | Mencari sifat mengikut nama |
createAnimationClip(String name) | AnimationClip | Mencipta klip animasi bernama baru dan menambahkannya ke adegan |
getAnimationClip(String name) | AnimationClip | Mencari klip animasi sedia ada mengikut nama, atau null jika tidak ditemui |
clear() | void | Mengosongkan semua kandungan dari adegan |
Enumerations
Cipta sebuah adegan, tambahkan nod mesh, dan simpan ke 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);