Scene

Пакет: @aspose/3d (v24.12.0)

Scene — корневой контейнер для 3D графа сцены в @aspose/3d. Он содержит иерархию узлов, метаданные и клипы анимации, а также предоставляет основной интерфейс ввода/вывода для загрузки и сохранения 3D файлов.

export class Scene extends SceneObject

ImageRenderOptions

A3DObject ← SceneObject ← Scene

ImageRenderOptions

Загрузите файл OBJ и выведите количество дочерних узлов в корне графа сцены.

import { Scene } from '@aspose/3d';

const scene = new Scene();
scene.open('model.obj');

function countNodes(node: any): number {
  let total = 1;
  for (const child of node.childNodes) {
    total += countNodes(child);
  }
  return total;
}

const nodeCount = countNodes(scene.rootNode);
console.log(`Total nodes in scene: ${nodeCount}`);

ImageRenderOptions

NameTypeAccessDescription
VERSION``ReadGets the version.
rootNodeNodeReadGets the root node.
subScenesScene[]ReadGets the sub scenes.
libraryCustomObject[]ReadGets the library.
assetInfoAssetInfoRead/WriteGets the asset info.
animationClipsAnimationClip[]ReadGets the animation clips.
currentAnimationClip`AnimationClipnull`Read/Write
posesany[]ReadGets the poses.
SignatureDescription
constructor()Creates a scene containing the specified entity
constructor(entity: Entity)
constructor(parentScene: Scene, name: string)
constructor()
clear()Removes all nodes, assets and animation data from the scene
createAnimationClip(name: string)AnimationClipCreates a new animation clip with the given name
getAnimationClip(name: string) → `AnimationClipnull`
open(fileOrStream: any, options: any)Loads scene data from a file path or stream using options
`openFromBuffer(buffer: BufferUint8Array, options: any)`
save(fileOrStream: any, formatOrOptions: any, options: any)Writes the scene to a file or stream
saveToBuffer(format: string, _options: any)BufferReturns a Buffer containing the scene in the given format
render(_camera: any, _file_name_or_bitmap: any, _size: any, _format: any, _options: any)Not implemented in the FOSS edition — throws at runtime. Renders the scene with the camera to an image
fromFile(fileName: string)SceneLoads a scene from the specified file and returns the scene
toString()string

ImageRenderOptions

open(fileOrStream, options?)

Загружает 3D‑файл из пути к файлу или Buffer в сцену, заменяя всё существующее содержимое.

open(fileOrStream: string | Buffer, options?: LoadOptions): void

ImageRenderOptions

fileOrStream string | Buffer

Путь к исходному файлу или Buffer содержащий необработанные данные файла.

options LoadOptions (необязательно)

Опции загрузки, специфичные для формата. Передайте undefined чтобы использовать значения по умолчанию.

ImageRenderOptions

void

ImageRenderOptions

const scene = new Scene(); scene.open(‘input.fbx’); console.log(Loaded scene with root node: ${scene.rootNode.name});


---

### openFromBuffer(buffer, options?)

Загружает 3D‑файл из оперативной памяти `Buffer`. Это предпочтительная перегрузка, когда данные файла уже считаны в память.

```typescript
openFromBuffer(buffer: Buffer, options?: LoadOptions): void

ImageRenderOptions

buffer Buffer

Node.js Buffer содержащий полное содержимое файла.

Опции загрузки, специфичные для формата.

ImageRenderOptions

void

ImageRenderOptions

import { Scene } from '@aspose/3d';
import { readFileSync } from 'fs';

const data = readFileSync('model.glb');
const scene = new Scene();
scene.openFromBuffer(data);
console.log(`Animation clips: ${scene.animationClips.length}`);

save(fileOrStream, formatOrOptions?, options?)

Сохраняет сцену в файл. Формат определяется по расширению файла, или вы можете передать специфичный для формата SaveOptions экземпляр (или FileFormat singleton) в качестве второго аргумента.

save(fileOrStream: string, formatOrOptions?: FileFormat | SaveOptions, options?: SaveOptions): void

ImageRenderOptions

fileOrStream string

Путь к целевому файлу. Расширение определяет формат вывода (например,)., .glb → GLB, .gltf → glTF JSON, .stl → STL).

formatOrOptions FileFormat | SaveOptions (необязательно)

Либо одиночный формат (например,., GltfFormat.getInstance()) или специфичный для формата SaveOptions подкласс.

options SaveOptions (необязательно)

Опции сохранения, зависящие от формата, когда FileFormat передаётся в качестве второго аргумента.

ImageRenderOptions

void

ImageRenderOptions

const scene = new Scene(); scene.open(‘input.obj’);

// Format inferred from extension scene.save(‘output.glb’); console.log(‘Scene saved as GLB.’);


---

### createAnimationClip(name)

Создаёт новый именованный анимационный клип и добавляет его в `animationClips` коллекцию.

```typescript
createAnimationClip(name: string): AnimationClip

ImageRenderOptions

name string

Описательное имя для нового анимационного клипа.

ImageRenderOptions

AnimationClip

Новосозданный AnimationClip экземпляр.

ImageRenderOptions

const scene = new Scene(); const clip = scene.createAnimationClip(‘WalkCycle’); console.log(Created clip: ${clip.name}); console.log(Total clips: ${scene.animationClips.length});

 Русский