Sahne Yönetimi
Sahne Yönetimi
The Scene sınıfı, .NET için Aspose.3D içindeki tüm 3D içeriğin giriş noktasını oluşturur. Sahneleri sıfırdan oluşturmak, desteklenen herhangi bir formatta mevcut dosyaları yüklemek, herhangi bir hedef formata kaydetmek ve sahne meta verilerini incelemek için yöntemler sağlar.
Sahneleri Oluşturma ve Açma
Boş bir sahneyi new Scene() ile oluşturun veya bir dosyadan yükleyin:
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 dosya uzantısı ve sihirli baytlardan formatı otomatik olarak algılar. Uzantı belirsiz veya yoksa FileFormat aşırı yüklemesini kullanın.
Sahneleri Kaydetme
Sahneyi, desteklenen herhangi bir çıktı formatında bir dosyaya veya akışa kaydedin:
// 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);Sahne İçeriğini Temizleme
Bir sahnedeki tüm düğümleri ve varlıkları kaldırıp Scene nesnesini korumak için:
// Remove all direct children of the root node
scene.RootNode.ChildNodes.Clear();
// Or replace the scene entirely
scene = new Scene();Scene.Clear() kullanılabilir ve sahne içeriğini temizleyerek varsayılan ayarları geri yükler; alternatif olarak, yukarıda gösterildiği gibi yeni bir Scene örneği oluşturun.
Sahne Meta Verileri
Scene üzerindeki AssetInfo özelliği, desteklenen formatlarda (FBX, Collada, glTF) gömülü meta verileri ortaya çıkarır:
var info = scene.AssetInfo;
Console.WriteLine("Author: " + info.Author);
Console.WriteLine("Creation UTC: " + info.CreationTime);
Console.WriteLine("Units: " + info.UnitName + " @ " + info.UnitScaleFactor);Meta verileri kaydetmeden önce ayarlayarak çıktı dosyasında korunmasını sağlayın:
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 | Açıklama |
|---|---|
new Scene() | Boş bir sahne oluştur |
Scene.FromFile(path) | Statik yardımcı: bir dosya aç ve yüklenen sahneyi döndür |
scene.Open(path, format?) | Bir dosyayı mevcut bir sahneye yükle |
scene.Open(stream, format) | Akıştan yükle |
scene.Save(path, format?) | Dosyaya kaydet |
scene.Save(stream, format) | Akışa kaydet |
scene.RootNode | Sahne hiyerarşisinin kök Node |
scene.AssetInfo | Meta veri bloğu (oluşturucu, zaman damgaları, birimler) |
scene.AssetInfo.ApplicationName | Dosyaya gömülü uygulama adı |
scene.AssetInfo.UnitScaleFactor | Metrelere göre sahne birim ölçeği |
Ayrıca Bakınız
- Aspose.3D for .NET — Enterprise Documentation
- Sahne Grafiği ile Çalışma — düğüm hiyerarşisini dolaş ve değiştir
- Biçim Desteği — desteklenen tüm giriş ve çıkış formatları