Class Scene

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

Scene е кореновият контейнер за 3D граф на сцена в @aspose/3d. Той съдържа йерархията на възлите, метаданните и анимационните клипове и предоставя основния I/O интерфейс за зареждане и запазване на 3D файлове.

export class Scene extends SceneObject

Enumerations

A3DObject ← SceneObject ← Scene

Enumerations

Заредете 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}`);

Enumerations

EnumerationsEnumerationsEnumerations
rootNodeNodeКореновият възел на графа на сцената. Цялата геометрия, светлини, камери и други обекти са прикрепени под този възел.
assetInfoAssetInfoМетаданни за актива, включително създател, време на създаване, информация за единиците и координатната система.
animationClipsAnimationClip[]Колекцията от анимационни клипове, дефинирани в сцената. Всеки клип съдържа анимационни криви за възлите и техните свойства.
subScenesScene[]Под-сцени, вградени в тази сцена. Използва се от формати като FBX, които поддържат йерархии на сцената. Бележка: Това свойство не е потвърдено в текущия API и може да не е налично.

Enumerations

open(fileOrStream, options?)

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

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

Enumerations

fileOrStream string | Buffer

Пътят към изходния файл, или Buffer съдържащ суровите данни на файла.

options LoadOptions (по избор)

Опции за зареждане, специфични за формата. Предайте undefined за използване на стойностите по подразбиране.

Enumerations

void

Enumerations

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

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

openFromBuffer(buffer, options?)

Зарежда 3D файл от памет Buffer. Това е предпочитаният вариант, когато данните на файла вече са прочетени в паметта.

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

Enumerations

buffer Buffer

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

options LoadOptions (по избор)

Опции за зареждане, специфични за формата.

Enumerations

void

Enumerations

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 инстанция (или a FileFormat singleton) като втори аргумент.

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

Enumerations

fileOrStream string

Пътят до целевия файл. Разширението определя изходния формат (например)., .glb → GLB, .gltf → glTF JSON, .stl → STL).

formatOrOptions FileFormat | SaveOptions (по избор)

Или единичен формат (например,., GltfFormat.getInstance()) SaveOptions подклас.

options SaveOptions (по избор)

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

Enumerations

void

Enumerations

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

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 колекцията.

createAnimationClip(name: string): AnimationClip

Enumerations

name string

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

Enumerations

AnimationClip

Новосъздаденият AnimationClip екземпляр.

Enumerations

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

const scene = new Scene();
const clip = scene.createAnimationClip('WalkCycle');
console.log(`Created clip: ${clip.name}`);
console.log(`Total clips: ${scene.animationClips.length}`);
 Български