Class Scene
Paquet: @aspose/3d (v24.12.0)
Scene és el contenidor arrel per a un gràfic d’escena 3D en @aspose/3d. Manté la jerarquia de nodes, les metadades i els clips d’animació, i proporciona la interfície principal d’E/S per a carregar i desar fitxers 3D.
export class Scene extends SceneObjectEnumerations
A3DObject ← SceneObject ← Scene
Enumerations
Carrega un fitxer OBJ i imprimeix el nombre de nodes fill a l’arrel del gràfic d’escena.
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 | El node arrel del gràfic d’escena. Tota la geometria, llums, càmeres i altres objectes s’adhereixen sota aquest node. |
assetInfo | AssetInfo | Metadades sobre l’actiu, incloent creador, data de creació, informació d’unitats i sistema de coordenades. |
animationClips | AnimationClip[] | La col·lecció de clips d’animació definits a l’escena. Cada clip conté corbes d’animació per a nodes i les seves propietats. |
subScenes | Scene[] | Subescenes incrustades dins d’aquesta escena. Utilitzades per formats com FBX que admeten jerarquies d’escena. Nota: Aquesta propietat no està confirmada a la superfície actual de l’API i pot no estar disponible. |
Enumerations
open(fileOrStream, options?)
Carrega un fitxer 3D des d’un camí de fitxer o un Buffer a l’escena, reemplaçant qualsevol contingut existent.
open(fileOrStream: string | Buffer, options?: LoadOptions): voidEnumerations
fileOrStream string | Buffer
El camí al fitxer d’origen, o un Buffer que conté les dades brutes del fitxer.
options LoadOptions (opcional)
Opcions de càrrega específiques del format. Pass undefined per utilitzar els valors per defecte.
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?)
Carrega un fitxer 3D des d’una memòria Buffer. Aquesta és la sobrecàrrega preferida quan les dades del fitxer ja s’han llegit a la memòria.
openFromBuffer(buffer: Buffer, options?: LoadOptions): voidEnumerations
buffer Buffer
Un Node.js Buffer que conté el contingut complet del fitxer.
options LoadOptions (opcional)
Opcions de càrrega específiques del format.
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?)
Desa l’escena a un fitxer. El format s’infereix a partir de l’extensió del fitxer, o pots passar un específic de format SaveOptions instància (o una FileFormat singleton) com a segon argument.
save(fileOrStream: string, formatOrOptions?: FileFormat | SaveOptions, options?: SaveOptions): voidEnumerations
fileOrStream string
El camí del fitxer de destinació. L’extensió determina el format de sortida (p. ex., .glb → GLB, .gltf → glTF JSON, .stl → STL).
formatOrOptions FileFormat | SaveOptions (opcional)
Ja sigui un singleton de format (p. ex., GltfFormat.getInstance()) o un format específic SaveOptions subclasse.
options SaveOptions (opcional)
Opcions de desament específiques del format quan un FileFormat s’passa com a segon argument.
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)
Crea un nou clip d’animació amb nom i l’afegeix a l’escena animationClips col·lecció.
createAnimationClip(name: string): AnimationClipEnumerations
name string
Un nom descriptiu per al nou clip d’animació.
Enumerations
AnimationClip
El nou creat AnimationClip instància.
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}`);