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

MemberDeskripsi
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.RootNodeAkar Node dari hierarki scene
scene.AssetInfoBlok metadata (pencipta, stempel waktu, satuan)
scene.AssetInfo.ApplicationNameNama aplikasi yang disematkan dalam file
scene.AssetInfo.UnitScaleFactorSkala unit adegan relatif terhadap meter

Lihat Juga

 Bahasa Indonesia