Gestione della scena
Gestione delle scene
La classe Scene è il punto di ingresso per tutti i contenuti 3D in Aspose.3D per .NET. Fornisce metodi per creare scene da zero, caricare file esistenti in qualsiasi formato supportato, salvare in qualsiasi formato di destinazione e ispezionare i metadati della scena.
Creazione e apertura delle scene
Crea una scena vuota con new Scene(), oppure caricala da un 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 rileva automaticamente il formato dall’estensione del file e dai byte magici. Usa il overload FileFormat quando l’estensione è ambigua o assente.
Salvataggio delle scene
Salva una scena in un file o stream in qualsiasi formato di output supportato:
// 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);Cancellazione del contenuto della scena
Per rimuovere tutti i nodi e le risorse da una scena mantenendo l’oggetto Scene:
// Remove all direct children of the root node
scene.RootNode.ChildNodes.Clear();
// Or replace the scene entirely
scene = new Scene();Scene.Clear() è disponibile e cancella il contenuto della scena, ripristinando le impostazioni predefinite; in alternativa, crea una nuova istanza Scene come mostrato sopra.
Metadati della scena
La proprietà AssetInfo su un Scene espone i metadati incorporati nei formati supportati (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);Imposta i metadati prima di salvare per conservarli nel file di 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 | Descrizione |
|---|---|
new Scene() | Crea una scena vuota |
Scene.FromFile(path) | Helper statico: apri un file e restituisci la scena caricata |
scene.Open(path, format?) | Carica un file in una scena esistente |
scene.Open(stream, format) | Carica da un flusso |
scene.Save(path, format?) | Salva su un file |
scene.Save(stream, format) | Salva su un flusso |
scene.RootNode | Radice Node della gerarchia della scena |
scene.AssetInfo | Blocco metadati (creatore, timestamp, unità) |
scene.AssetInfo.ApplicationName | Nome dell’applicazione incorporato nel file |
scene.AssetInfo.UnitScaleFactor | Scala dell’unità della scena rispetto ai metri |
Vedi anche
- Aspose.3D for .NET — Enterprise Documentation
- Lavorare con il grafo della scena — navigare e modificare la gerarchia dei nodi
- Supporto dei formati — tutti i formati di input e output supportati