Class Scene

Paket: @aspose/3d (v24.12.0)

Scene je koreni kontejner za 3D graf scene u @aspose/3d. On drži hijerarhiju čvorova, metapodatke i animacione klipove, i pruža primarni I/O interfejs za učitavanje i čuvanje 3D datoteka.

export class Scene extends SceneObject

A3DObject ← SceneObject ← Scene

Učitaj OBJ fajl i prikaži broj podčvorova u korenu grafa scene.

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}`);

rootNodeNodeKoreni čvor grafika scene. Sva geometrija, svetla, kamere i drugi objekti su prikačeni ispod ovog čvora.
assetInfoAssetInfoMetapodaci o sredstvu, uključujući kreatora, vreme kreiranja, informacije o jedinicama i koordinatni sistem.
animationClipsAnimationClip[]Kolekcija animacionih klipova definisanih u sceni. Svaki klip sadrži animacione krive za čvorove i njihove osobine.
subScenesScene[]Pod‑scene ugrađene u ovu scenu. Koristi se u formatima kao što je FBX koji podržavaju hijerarhiju scena. Napomena: Ovo svojstvo nije potvrđeno u trenutnoj API površini i možda neće biti dostupno.

open(fileOrStream, options?)

Učita 3D fajl sa putanje do fajla ili Buffer u scenu, zamenjujući sav postojeći sadržaj.

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

fileOrStream string | Buffer

Putanja do izvornog fajla, ili Buffer koja sadrži sirove podatke fajla.

options LoadOptions (opciono)

Opcije učitavanja specifične za format. Prosledite undefined za korišćenje podrazumevanih vrednosti.

void

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?)

Učitava 3D fajl iz memorije Buffer. Ovo je preferirano preopterećenje kada su podaci fajla već učitani u memoriju.

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

buffer Buffer

Jedan Node.js Buffer sadrži kompletan sadržaj fajla.

options LoadOptions (opciono)

Opcije učitavanja specifične za format.

void

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?)

Sačuva scenu u fajl. Format se zaključuje iz ekstenzije fajla, ili možete proslediti format‑specifičan SaveOptions instancu (ili a FileFormat singleton) kao drugi argument.

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

fileOrStream string

Putanja odredišnog fajla. Ekstenzija određuje izlazni format (npr.,)., .glb → GLB, .gltf → glTF JSON, .stl → STL).

formatOrOptions FileFormat | SaveOptions (opcionalno)

Bilo da je format singleton (npr., GltfFormat.getInstance()) ili specifičan za format SaveOptions podklasu.

options SaveOptions (opcionalno)

Opcije za čuvanje specifične za format kada je FileFormat prosleđen kao drugi argument.

void

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)

Kreira novi imenovani animacioni klip i dodaje ga u scenu animationClips kolekciju.

createAnimationClip(name: string): AnimationClip

name string

Opisno ime za novi animacioni klip.

AnimationClip

Novo kreirani AnimationClip instancu.

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}`);
 Српски