Scenhantering
Scenhantering
Klassen Scene är inträdespunkten för allt 3D-innehåll i Aspose.3D för .NET. Den tillhandahåller metoder för att skapa scener från början, läsa in befintliga filer i vilket stödformat som helst, spara till vilket målformat som helst och inspektera scenmetadata.
Skapa och öppna scener
Skapa en tom scen med new Scene(), eller läs in från en fil:
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 identifierar automatiskt formatet från filändelsen och magiska byte. Använd FileFormat-överladdningen när filändelsen är tvetydig eller saknas.
Spara scener
Spara en scen till en fil eller ström i vilket stödformat som helst för utdata:
// 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);Rensa sceninnehåll
För att ta bort alla noder och resurser från en scen samtidigt som Scene-objektet behålls:
// Remove all direct children of the root node
scene.RootNode.ChildNodes.Clear();
// Or replace the scene entirely
scene = new Scene();Scene.Clear() är tillgänglig och rensar sceninnehållet, återställer standardinställningarna; alternativt, skapa en ny Scene-instans som visas ovan.
Scenmetadata
Egendomen AssetInfo på en Scene visar metadata inbäddad i stödda format (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);Ange metadata innan du sparar för att bevara dem i utdatafilen:
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 | Beskrivning |
|---|---|
new Scene() | Skapa en tom scen |
Scene.FromFile(path) | Statisk hjälpfunktion: öppna en fil och returnera den laddade scenen |
scene.Open(path, format?) | Ladda en fil i en befintlig scen |
scene.Open(stream, format) | Läs in från en ström |
scene.Save(path, format?) | Spara till en fil |
scene.Save(stream, format) | Spara till en ström |
scene.RootNode | Rot Node i scenhierarkin |
scene.AssetInfo | Metadata-block (skapare, tidsstämplar, enheter) |
scene.AssetInfo.ApplicationName | Applikationsnamn inbäddat i filen |
scene.AssetInfo.UnitScaleFactor | Scenens enhetsskala relativt till meter |
Se även
- Aspose.3D for .NET — Enterprise Documentation
- Arbeta med scengrafen — navigera och modifiera nodhierarkin
- Formatstöd — alla stödda in- och utdataformat