Class Scene
Пакет: @aspose/3d (v24.12.0)
Scene е кореновият контейнер за 3D граф на сцена в @aspose/3d. Той съдържа йерархията на възлите, метаданните и анимационните клипове и предоставя основния I/O интерфейс за зареждане и запазване на 3D файлове.
export class Scene extends SceneObjectEnumerations
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
| Enumerations | Enumerations | Enumerations |
|---|---|---|
rootNode | Node | Кореновият възел на графа на сцената. Цялата геометрия, светлини, камери и други обекти са прикрепени под този възел. |
assetInfo | AssetInfo | Метаданни за актива, включително създател, време на създаване, информация за единиците и координатната система. |
animationClips | AnimationClip[] | Колекцията от анимационни клипове, дефинирани в сцената. Всеки клип съдържа анимационни криви за възлите и техните свойства. |
subScenes | Scene[] | Под-сцени, вградени в тази сцена. Използва се от формати като FBX, които поддържат йерархии на сцената. Бележка: Това свойство не е потвърдено в текущия API и може да не е налично. |
Enumerations
open(fileOrStream, options?)
Зарежда 3D файл от път към файл или от Buffer в сцената, заменяйки съществуващото съдържание.
open(fileOrStream: string | Buffer, options?: LoadOptions): voidEnumerations
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): voidEnumerations
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): voidEnumerations
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): AnimationClipEnumerations
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}`);