Class Scene
Pakke: @aspose/3d (v24.12.0)
Scene er den overordnede container for en 3D-scengraf i @aspose/3d. Den indeholder nodehierarkiet, metadata og animationsklip, og giver det primære I/O‑interface til indlæsning og gemning af 3D‑filer.
export class Scene extends SceneObjectEnumerations
A3DObject ← SceneObject ← Scene
Enumerations
Indlæs en OBJ‑fil og udskriv antallet af undernoder i roden af scenegrafen.
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 | Rodnoden i scengrafen. Al geometri, lys, kameraer og andre objekter er vedhæftet under denne node. |
assetInfo | AssetInfo | Metadata om aktivet, herunder skaber, oprettelsestid, enhedsinformation og koordinatsystem. |
animationClips | AnimationClip[] | Samlingen af animationsklip defineret i scenen. Hvert klip indeholder animationskurver for noder og deres egenskaber. |
subScenes | Scene[] | Under-scener indlejret i denne scene. Bruges af formater som FBX, der understøtter scenehierarkier. Bemærk: Denne egenskab er ikke bekræftet i den aktuelle API‑overflade og er muligvis ikke tilgængelig. |
Enumerations
open(fileOrStream, options?)
Indlæser en 3D-fil fra en filsti eller en Buffer ind i scenen, som erstatter eventuelt eksisterende indhold.
open(fileOrStream: string | Buffer, options?: LoadOptions): voidEnumerations
fileOrStream string | Buffer
Stien til kildefilen, eller en Buffer der indeholder de rå fildata.
options LoadOptions (valgfri)
Format-specifikke indlæsningsindstillinger. Pass undefined for at bruge standardindstillinger.
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?)
Indlæser en 3D‑fil fra hukommelsen Buffer. Dette er den foretrukne overload, når fildataene allerede er læst ind i hukommelsen.
openFromBuffer(buffer: Buffer, options?: LoadOptions): voidEnumerations
buffer Buffer
En Node.js Buffer der indeholder det komplette filindhold.
options LoadOptions (valgfri)
Format‑specifikke indlæsningsindstillinger.
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?)
Gemmer scenen til en fil. Formatet udledes af filendelsen, eller du kan videregive et format‑specifikt SaveOptions instans (eller en FileFormat singleton) som det andet argument.
save(fileOrStream: string, formatOrOptions?: FileFormat | SaveOptions, options?: SaveOptions): voidEnumerations
fileOrStream string
Destinationsfilens sti. Filendelsen bestemmer outputformatet (f.eks., .glb → GLB, .gltf → glTF JSON, .stl → STL).
formatOrOptions FileFormat | SaveOptions (valgfri)
Enten en format‑singleton (f.eks., GltfFormat.getInstance()) SaveOptions underklasse.
options SaveOptions (valgfri)
Format-specifikke gemmeindstillinger når en FileFormat videregives som det andet 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)
Opretter et nyt navngivet animationsklip og tilføjer det til scenens animationClips samling.
createAnimationClip(name: string): AnimationClipEnumerations
name string
Et beskrivende navn for det nye animationsklip.
Enumerations
AnimationClip
Den nyoprettede AnimationClip instans.
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}`);