Scene — Aspose.3D FOSS for Java

Example

Example Scene clasa în Aspose.3D servește ca container rădăcină pentru conținut 3D, gestionând obiectele de nivel superior și permițând gestionarea relațiilor părinte/copil pentru ierarhia scenei. Oferă acces la nodurile rădăcină și subscenele, constituind punctul de intrare pentru încărcarea, construirea și salvarea scenelor 3D.

import com.aspose.threed.Scene;

// Create an empty scene
Scene scene = new Scene();

// Access the root node via getter method
Node root = scene.getRootNode();

Example

Example Scene clasa poate fi instanțiată fără argumente pentru a crea o scenă goală, sau cu parametri opționali.

ExampleExampleExample
entityEntityEntitate opțională de atașat la nodul rădăcină la crearea
parentSceneSceneScenă părinte opțională (pentru sub-scene); necesită un nume
nameStringNume scenă (utilizat doar cu constructorul cu două argumente Scene(Scene, String) constructor)
import com.aspose.threed.Scene;

// Empty scene
Scene scene = new Scene();

// Scene with an initial entity
Scene scene = new Scene(new Mesh());

// Access the root node (getter method)
Node root = scene.getRootNode();

Metode de clasă

ExampleTip de returnareExample
Scene.fromFile(String filePath)SceneÎncarcă o scenă din calea de fișier specificată, detectând automat formatul.
Scene.fromFile(String filePath, LoadOptions options)SceneÎncarcă o scenă cu opțiuni de încărcare specifice formatului.
import com.aspose.threed.Scene;


// Load from file (format detected from extension)
Scene scene = Scene.fromFile("model.obj");

// Load with options
ObjLoadOptions opts = new ObjLoadOptions();
Scene scene = Scene.fromFile("model.obj", opts);

Example

Toate proprietățile sunt accesate prin metode getter/setter.

ExampleExampleExampleExampleExample
rootNodeNodegetRootNode()Nodul rădăcină al ierarhiei scenei
subScenesList<Scene>getSubScenes()Sub-scene imbricate în această scenă
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Metadatele activului, cum ar fi autorul, data creării și unitățile
animationClipsList<AnimationClip>getAnimationClips()Clipuri de animație definite în scenă
currentAnimationClipAnimationClipgetCurrentAnimationClip()setCurrentAnimationClip(AnimationClip)Clipul de animație activ în prezent
libraryList<A3DObject>getLibrary()Obiecte de metadate definite de utilizator atașate scenei
nameStringgetName()setName(String)Numele obiectului scenei
propertiesPropertyCollectiongetProperties()Proprietăți personalizate atașate scenei

Example

ExampleTip de returnareExample
save(String filePath)voidSalvează scena într-un fișier; formatul este dedus din extensie
save(String filePath, FileFormat format)voidSalvează scena într-un fișier în formatul specificat FileFormat
save(String filePath, SaveOptions options)voidSalvează scena utilizând opțiuni de salvare specifice formatului
open(String filePath)voidDeschide un fișier în această scenă; formatul este dedus din extensie
open(String filePath, LoadOptions options)voidDeschide un fișier cu opțiuni de încărcare specifice formatului
getProperty(String name)ObjectObține valoarea unei proprietăți după nume
findProperty(String name)PropertyGăsește o proprietate după nume
createAnimationClip(String name)AnimationClipCreează un nou clip de animație denumit și îl adaugă în scenă
getAnimationClip(String name)AnimationClipGăsește un clip de animație existent după nume, sau null dacă nu este găsit
clear()voidȘterge tot conținutul din scenă

Example

Creează o scenă, adaugă un nod mesh și salvează în GLB:

import com.aspose.threed.Scene;
import com.aspose.threed.FileFormat;



// Create scene and mesh
Scene scene = new Scene();
Mesh mesh = new Mesh();
mesh.getControlPoints().add(new Vector4(0, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(1, 0, 0, 1));
mesh.getControlPoints().add(new Vector4(0.5, 1, 0, 1));
mesh.createPolygon(0, 1, 2);

// Add node to root
Node node = scene.getRootNode().createChildNode("triangle", mesh);

// Save as GLB
GltfSaveOptions glbOpts = new GltfSaveOptions();
glbOpts.setContentType(FileContentType.BINARY);
scene.save("triangle.glb", glbOpts);

Vezi și

 Română