Scènebeheer

Scènebeheer

De Scene class is het toegangspunt voor alle 3D-content in Aspose.3D voor .NET. Het biedt methoden om scènes vanaf nul te creëren, bestaande bestanden in elk ondersteund formaat te laden, op te slaan naar elk doelformaat en de metadata van de scène te inspecteren.


Scènes maken en openen

Maak een lege scène met new Scene(), of laad vanuit een bestand:

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 detecteert automatisch het formaat aan de hand van de bestandsextensie en magic bytes. Gebruik de overload FileFormat wanneer de extensie dubbelzinnig of afwezig is.


Scènes opslaan

Sla een scène op naar een bestand of stream in elk ondersteund uitvoerformaat:

// 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);

Scene-inhoud wissen

Om alle knooppunten en assets uit een scene te verwijderen terwijl het Scene object behouden blijft:

// Remove all direct children of the root node
scene.RootNode.ChildNodes.Clear();

// Or replace the scene entirely
scene = new Scene();

Scene.Clear() is beschikbaar en wist de scene-inhoud, waardoor de standaardinstellingen worden hersteld; maak eventueel een nieuw Scene exemplaar aan zoals hierboven weergegeven.


Scene-metadata

De AssetInfo eigenschap van een Scene toont metadata die is ingebed in ondersteunde formaten (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);

Stel metadata in vóór het opslaan om deze te behouden in het uitvoerbestand:

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

MemberBeschrijving
new Scene()Maak een lege scene
Scene.FromFile(path)Statische helper: open een bestand en retourneer de geladen scene
scene.Open(path, format?)Laad een bestand in een bestaande scene
scene.Open(stream, format)Laad van een stream
scene.Save(path, format?)Opslaan naar een bestand
scene.Save(stream, format)Opslaan naar een stream
scene.RootNodeRoot Node van de scènehiërarchie
scene.AssetInfoMetagegevensblok (maker, tijdstempels, eenheden)
scene.AssetInfo.ApplicationNameToepassingsnaam ingebed in het bestand
scene.AssetInfo.UnitScaleFactorScène-eenheidsschaal ten opzichte van meters

Zie ook

 Nederlands