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

MemberAçı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.RootNodeSahne hiyerarşisinin kök Node
scene.AssetInfoMeta veri bloğu (oluşturucu, zaman damgaları, birimler)
scene.AssetInfo.ApplicationNameDosyaya gömülü uygulama adı
scene.AssetInfo.UnitScaleFactorMetrelere göre sahne birim ölçeği

Ayrıca Bakınız

 Türkçe