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 SceneObject

Enumerations

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

EnumerationsEnumerationsEnumerations
rootNodeNodeRodnoden i scengrafen. Al geometri, lys, kameraer og andre objekter er vedhæftet under denne node.
assetInfoAssetInfoMetadata om aktivet, herunder skaber, oprettelsestid, enhedsinformation og koordinatsystem.
animationClipsAnimationClip[]Samlingen af animationsklip defineret i scenen. Hvert klip indeholder animationskurver for noder og deres egenskaber.
subScenesScene[]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): void

Enumerations

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): void

Enumerations

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): void

Enumerations

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): AnimationClip

Enumerations

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