Scene — Aspose.3D FOSS for Java

Example

Example Scene class in Aspose.3D serves as the root container for 3D content, managing top-level objects and enabling parent/child relationship management for the scene hierarchy. It provides access to root nodes and sub-scenes, forming the entry point for loading, constructing, and saving 3D scenes.

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 class can be instantiated with no arguments to create an empty scene, or with optional parameters.

ExampleExampleExample
entityEntityOptional entity to attach to the root node on creation
parentSceneSceneOptional parent scene (for sub-scenes); requires a name
nameStringScene name (only used with the two-argument) Scene(Scene, String) konstruktorius)
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();

Klasės metodai

ExampleGrąžinimo tipasExample
Scene.fromFile(String filePath)SceneĮkelia sceną iš nurodyto failo kelio, automatiškai aptikdamas formatą.
Scene.fromFile(String filePath, LoadOptions options)SceneĮkelia sceną su formatui būdingomis įkėlimo parinktimis.
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

Visos savybės pasiekiamos per getter/setter metodus.

ExampleExampleExampleExampleExample
rootNodeNodegetRootNode()Šakninis mazgas scenos hierarchijoje.
subScenesList<Scene>getSubScenes()Po-scenos, įdėtos į šią sceną
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Turto metaduomenys, tokie kaip autorius, sukūrimo data ir vienetai
animationClipsList<AnimationClip>getAnimationClips()Scenoje apibrėžti animacijos klipai
currentAnimationClipAnimationClipgetCurrentAnimationClip()setCurrentAnimationClip(AnimationClip)Šiuo metu aktyvus animacijos klipas
libraryList<A3DObject>getLibrary()Vartotojo apibrėžti metaduomenų objektai, prisegti prie scenos
nameStringgetName()setName(String)Scenos objekto pavadinimas
propertiesPropertyCollectiongetProperties()Pasirinktinės savybės, prisegtos prie scenos

Example

ExampleGrąžinimo tipasExample
save(String filePath)voidIšsaugo sceną į failą; formatas nustatomas pagal plėtinį
save(String filePath, FileFormat format)voidIšsaugo sceną į failą nurodytu FileFormat
save(String filePath, SaveOptions options)voidIšsaugo sceną naudodama formatui būdingus išsaugojimo parametrus
open(String filePath)voidAtveria failą šioje scenoje; formatas nustatomas pagal plėtinį
open(String filePath, LoadOptions options)voidAtveria failą su formatui būdingais įkėlimo parametrais
getProperty(String name)ObjectGauti savybės reikšmę pagal pavadinimą
findProperty(String name)PropertyRanda savybę pagal pavadinimą
createAnimationClip(String name)AnimationClipSukuria naują pavadintą animacijos klipą ir prideda jį prie scenos
getAnimationClip(String name)AnimationClipRanda esamą animacijos klipą pagal pavadinimą, arba null jei nerasta
clear()voidIšvalo visą turinį iš scenos

Example

Sukurkite sceną, pridėkite tinklo (mesh) mazgą ir išsaugokite į 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);

Žr. taip pat

 Lietuvių