Class Scene

Balíček: @aspose/3d (v24.12.0)

Scene je kořenovým kontejnerem pro 3D scénový graf v @aspose/3d. Uchovává hierarchii uzlů, metadata a animační klipy a poskytuje primární I/O rozhraní pro načítání a ukládání 3D souborů.

export class Scene extends SceneObject

Enumerations

A3DObject ← SceneObject ← Scene

Enumerations

Načtěte soubor OBJ a vypište počet podřízených uzlů v kořeni scénového grafu.

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
rootNodeNodeKořenový uzel scénového grafu. Veškerá geometrie, světla, kamery a další objekty jsou připojeny pod tímto uzlem.
assetInfoAssetInfoMetadata o assetu, včetně tvůrce, času vytvoření, informací o jednotkách a souřadnicovém systému.
animationClipsAnimationClip[]Sbírka animačních klipů definovaných ve scéně. Každý klip obsahuje animační křivky pro uzly a jejich vlastnosti.
subScenesScene[]Podscény vložené v této scéně. Používá se ve formátech jako FBX, které podporují hierarchie scén. Poznámka: Tato vlastnost není v současném rozhraní API potvrzena a možná nebude k dispozici.

Enumerations

open(fileOrStream, options?)

Načte 3D soubor z cesty k souboru nebo z Buffer do scény, přičemž nahradí veškerý existující obsah.

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

Enumerations

fileOrStream string | Buffer

Cesta k zdrojovému souboru, nebo Buffer obsahující surová data souboru.

options LoadOptions (volitelné)

Formátově specifické možnosti načítání. Pass undefined pro použití výchozích hodnot.

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

Načte 3D soubor z paměti Buffer. Toto je preferované přetížení, když jsou data souboru již načtena do paměti.

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

Enumerations

buffer Buffer

Node.js Buffer obsahující kompletní obsah souboru.

options LoadOptions (volitelné)

Formátově specifické možnosti načítání.

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

Uloží scénu do souboru. Formát je odvozen z přípony souboru, nebo můžete předat formátově specifický SaveOptions instanci (nebo FileFormat singleton) jako druhý argument.

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

Enumerations

fileOrStream string

Cesta k cílovému souboru. Přípona určuje výstupní formát (např., .glb → GLB, .gltf → glTF JSON, .stl → STL).

formatOrOptions FileFormat | SaveOptions (volitelné)

Buď formátový singleton (např., GltfFormat.getInstance()) SaveOptions nebo formátově specifický podtřídu.

options SaveOptions (volitelné)

Formátově specifické možnosti uložení, když je FileFormat je předán jako druhý 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)

Vytvoří nový pojmenovaný animační klip a přidá jej do scény animationClips kolekce.

createAnimationClip(name: string): AnimationClip

Enumerations

name string

Popisný název nového animačního klipu.

Enumerations

AnimationClip

Nově vytvořený AnimationClip instanci.

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}`);
 Čeština