Manajemen Adegan
Manajemen Adegan
Kelas Scene adalah titik masuk untuk semua konten 3D di Aspose.3D untuk .NET. Kelas ini menyediakan metode untuk membuat adegan dari awal, memuat file yang ada dalam format apa pun yang didukung, menyimpan ke format target apa pun, dan memeriksa metadata adegan.
Membuat dan Membuka Adegan
Buat adegan kosong dengan new Scene(), atau muat dari file:
using Aspose.ThreeD;
// Empty scene
var empty = new Scene();
// Load from file — format is detected automatically
var scene = Scene.FromFile("model.fbx");
// Load using Scene.Open with explicit format
var scene2 = new Scene();
scene2.Open("model.obj", FileFormat.WavefrontOBJ);
// Load from a stream (useful when reading from memory or network)
using var stream = System.IO.File.OpenRead("model.stl");
var scene3 = new Scene();
scene3.Open(stream, FileFormat.STLBinary);Scene.FromFile secara otomatis mendeteksi format dari ekstensi file dan magic bytes. Gunakan overload FileFormat ketika ekstensi tidak jelas atau tidak ada.
Menyimpan Adegan
Simpan adegan ke file atau aliran dalam format output apa pun yang didukung:
// Save to file — format determined from extension
scene.Save("output.gltf");
// Save with explicit format
scene.Save("output.bin", FileFormat.GLTF2_Binary);
// Save to a stream
using var output = System.IO.File.Create("output.fbx");
scene.Save(output, FileFormat.FBX7700Binary);
// Save with format-specific options
var opts = new Aspose.ThreeD.Formats.ObjSaveOptions();
opts.PointCloud = false;
scene.Save("output.obj", opts);Menghapus Konten Adegan
Untuk menghapus semua node dan aset dari sebuah adegan sambil mempertahankan objek Scene:
// Remove all direct children of the root node
scene.RootNode.ChildNodes.Clear();
// Or replace the scene entirely
scene = new Scene();Scene.Clear() tersedia dan menghapus konten adegan, mengembalikan pengaturan default; alternatifnya, buat instansi Scene baru seperti yang ditunjukkan di atas.
Metadata Adegan
Properti AssetInfo pada Scene menampilkan metadata yang tertanam dalam format yang didukung (FBX, Collada, glTF):
var info = scene.AssetInfo;
Console.WriteLine("Author: " + info.Author);
Console.WriteLine("Creation UTC: " + info.CreationTime);
Console.WriteLine("Units: " + info.UnitName + " @ " + info.UnitScaleFactor);Setel metadata sebelum menyimpan untuk mempertahankannya dalam file output:
scene.AssetInfo.ApplicationName = "My Application 1.0";
scene.AssetInfo.UnitName = "meter";
scene.AssetInfo.UnitScaleFactor = 1.0;
scene.Save("output_with_meta.fbx");API Quick Reference
| Member | Deskripsi |
|---|---|
new Scene() | Buat scene kosong |
Scene.FromFile(path) | Pembantu statis: buka file dan kembalikan scene yang dimuat |
scene.Open(path, format?) | Muat file ke dalam scene yang sudah ada |
scene.Open(stream, format) | Muat dari aliran |
scene.Save(path, format?) | Simpan ke file |
scene.Save(stream, format) | Simpan ke aliran |
scene.RootNode | Akar Node dari hierarki scene |
scene.AssetInfo | Blok metadata (pencipta, stempel waktu, satuan) |
scene.AssetInfo.ApplicationName | Nama aplikasi yang disematkan dalam file |
scene.AssetInfo.UnitScaleFactor | Skala unit adegan relatif terhadap meter |
Lihat Juga
- Aspose.3D for .NET — Enterprise Documentation
- Bekerja dengan Grafik Adegan — menavigasi dan memodifikasi hierarki node
- Dukungan Format — semua format masukan dan keluaran yang didukung