Class Scene
Paket: @aspose/3d (v24.12.0)
Scene je korijenski kontejner za 3D graf scene u @aspose/3d. Sadrži hijerarhiju čvorova, metapodatke i animacijske isječke te pruža primarno I/O sučelje za učitavanje i spremanje 3D datoteka.
export class Scene extends SceneObjectColladaSaveOptions
A3DObject ← SceneObject ← Scene
ColladaSaveOptions
Učitaj OBJ datoteku i ispiši broj podčvorova u korijenu 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}`);ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
rootNode | Node | Korijenski čvor grafova scene. Sva geometrija, svjetla, kamere i ostali objekti pričvršćeni su ispod ovog čvora. |
assetInfo | AssetInfo | Metapodaci o sredstvu, uključujući autora, vrijeme stvaranja, informacije o jedinicama i koordinatni sustav. |
animationClips | AnimationClip[] | Zbirka animacijskih isječaka definirana u sceni. Svaki isječak sadrži animacijske krivulje za čvorove i njihove svojstva. |
subScenes | Scene[] | Podscene ugradjene u ovu scenu. Koriste formati poput FBX-a koji podržavaju hijerarhije scena. Napomena: Ovo svojstvo nije potvrđeno u trenutnoj API površini i možda neće biti dostupno. |
ColladaSaveOptions
open(fileOrStream, options?)
Učita 3D datoteku iz putanje datoteke ili a Buffer u scenu, zamjenjujući sav postojeći sadržaj.
open(fileOrStream: string | Buffer, options?: LoadOptions): voidColladaSaveOptions
fileOrStream string | Buffer
Putanja do izvorne datoteke, ili a Buffer koja sadrži sirove podatke datoteke.
options LoadOptions (opcionalno)
Opcije učitavanja specifične za format. Proslijedi undefined za korištenje zadane vrijednosti.
ColladaSaveOptions
void
ColladaSaveOptions
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čita 3D datoteku iz memorije Buffer. Ovo je preferirani preopterećenje kada su podaci datoteke već učitani u memoriju.
openFromBuffer(buffer: Buffer, options?: LoadOptions): voidColladaSaveOptions
buffer Buffer
Node.js Buffer koji sadrži cijeli sadržaj datoteke.
options LoadOptions (opcionalno)
Opcije učitavanja specifične za format.
ColladaSaveOptions
void
ColladaSaveOptions
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?)
Spremi scenu u datoteku. Format se zaključuje iz ekstenzije datoteke, ili možete proslijediti format-specifični SaveOptions instancu (ili FileFormat singleton) kao drugi argument.
save(fileOrStream: string, formatOrOptions?: FileFormat | SaveOptions, options?: SaveOptions): voidColladaSaveOptions
fileOrStream string
Odredišna putanja datoteke. Ekstenzija određuje izlazni format (npr., .glb → GLB, .gltf → glTF JSON, .stl → STL).
formatOrOptions FileFormat | SaveOptions (opcionalno)
Ili format singleton (npr., GltfFormat.getInstance()) SaveOptions podklasu.
options SaveOptions (opcionalno)
Opcije spremanja specifične za format kada je FileFormat proslijeđen kao drugi argument.
ColladaSaveOptions
void
ColladaSaveOptions
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)
Stvara novi imenovani animacijski isječak i dodaje ga u animationClips kolekciju.
createAnimationClip(name: string): AnimationClipColladaSaveOptions
name string
Opisno ime za novi animacijski isječak.
ColladaSaveOptions
AnimationClip
Novo stvoreni AnimationClip instancu.
ColladaSaveOptions
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}`);