Scene — Aspose.3D FOSS for Java

Example

Example Scene класс в Aspose.3D служит корневым контейнером для 3D‑контента, управляет объектами верхнего уровня и обеспечивает управление отношениями родитель/дочерний в иерархии сцены. Он предоставляет доступ к корневым узлам и подсценам, образуя точку входа для загрузки, построения и сохранения 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 класс может быть инстанцирован без аргументов для создания пустой сцены, либо с необязательными параметрами.

ExampleExampleExample
entityEntityНеобязательная сущность, присоединяемая к корневому узлу при создании
parentSceneSceneНеобязательная родительская сцена (для подсцен); требует указания имени
nameStringИмя сцены (используется только с двухаргументным Scene(Scene, String) конструктором)
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();

Методы класса

ExampleТип возвращаемого значенияExample
Scene.fromFile(String filePath)SceneЗагружает сцену из указанного пути к файлу, автоматически определяя формат.
Scene.fromFile(String filePath, LoadOptions options)SceneЗагружает сцену с параметрами загрузки, специфичными для формата.
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

Все свойства доступны через методы получения/установки.

ExampleExampleExampleExampleExample
rootNodeNodegetRootNode()Корневой узел иерархии сцены
subScenesList<Scene>getSubScenes()Подсцены, вложенные в эту сцену
assetInfoAssetInfogetAssetInfo()setAssetInfo(AssetInfo)Метаданные ресурса, такие как автор, дата создания и единицы измерения
animationClipsList<AnimationClip>getAnimationClips()Анимационные клипы, определённые в сцене
currentAnimationClipAnimationClipgetCurrentAnimationClip()setCurrentAnimationClip(AnimationClip)Текущий активный анимационный клип
libraryList<A3DObject>getLibrary()Пользовательские объекты метаданных, прикреплённые к сцене
nameStringgetName()setName(String)Имя объекта сцены
propertiesPropertyCollectiongetProperties()Пользовательские свойства, привязанные к сцене

Example

ExampleТип возвращаемого значенияExample
save(String filePath)voidСохраняет сцену в файл; формат определяется по расширению
save(String filePath, FileFormat format)voidСохраняет сцену в файл в указанном FileFormat
save(String filePath, SaveOptions options)voidСохраняет сцену с использованием параметров сохранения, специфичных для формата
open(String filePath)voidОткрывает файл в этой сцене; формат определяется по расширению
open(String filePath, LoadOptions options)voidОткрывает файл с использованием параметров загрузки, специфичных для формата
getProperty(String name)ObjectПолучает значение свойства по имени
findProperty(String name)PropertyНаходит свойство по имени
createAnimationClip(String name)AnimationClipСоздаёт новый именованный анимационный клип и добавляет его в сцену
getAnimationClip(String name)AnimationClipНаходит существующий анимационный клип по имени, или null если не найден
clear()voidОчищает всё содержимое сцены

Example

Создайте сцену, добавьте узел сетки и сохраните в 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);

См. также

 Русский