Class Scene
Balík: @aspose/3d (v24.12.0)
Scéna je koreňovým kontajnerom pre 3D graf scén v @aspose/3d. Obsahuje hierarchiu uzlov, metadáta a animačné klipy a poskytuje primárne I/O rozhranie pre načítanie a ukladanie 3D súborov.
export class Scene extends SceneObjectImageRenderOptions
A3DObject ← SceneObject ← Scene
ImageRenderOptions
Načítajte OBJ súbor a vypíšte počet podriadených uzlov v koreňovom uzle grafu scény.
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}`);ImageRenderOptions
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
rootNode | Node | Koreňový uzol grafu scény. Všetka geometria, svetlá, kamery a ďalšie objekty sú pripojené pod týmto uzlom. |
assetInfo | AssetInfo | Metadáta o aktíve, vrátane tvorcu, času vytvorenia, informácií o jednotkách a súradnicovom systéme. |
animationClips | AnimationClip[] | Zbierka animačných klipov definovaných v scéne. Každý klip obsahuje animačné krivky pre uzly a ich vlastnosti. |
subScenes | Scene[] | Podscény vložené v tejto scéne. Používa sa formátmi ako FBX, ktoré podporujú hierarchie scén. Poznámka: Táto vlastnosť nie je v aktuálnom rozhraní API potvrdená a môže byť nedostupná. |
ImageRenderOptions
open(fileOrStream, options?)
Načíta 3D súbor z cesty k súboru alebo z Buffer do scény, pričom nahradí akýkoľvek existujúci obsah.
open(fileOrStream: string | Buffer, options?: LoadOptions): voidImageRenderOptions
fileOrStream string | Buffer
Cesta k zdrojovému súboru alebo Buffer obsahujúci surové dáta súboru.
options LoadOptions (voliteľné)
Formátovo špecifické možnosti načítania. Pass undefined pre použitie predvolených hodnôt.
ImageRenderOptions
void
ImageRenderOptions
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číta 3D súbor z pamäti Buffer. Toto je preferované preťaženie, keď už boli dáta súboru načítané do pamäte.
openFromBuffer(buffer: Buffer, options?: LoadOptions): voidImageRenderOptions
buffer Buffer
Node.js Buffer obsahujúci kompletný obsah súboru.
options LoadOptions (voliteľné)
Možnosti načítania špecifické pre formát.
ImageRenderOptions
void
ImageRenderOptions
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 súboru. Formát sa odvodí z prípony súboru, alebo môžete odovzdať formátovo špecifický SaveOptions inštanciu (alebo FileFormat singleton) ako druhý argument.
save(fileOrStream: string, formatOrOptions?: FileFormat | SaveOptions, options?: SaveOptions): voidImageRenderOptions
fileOrStream string
Cieľová cesta súboru. Prípona určuje výstupný formát (napr., .glb → GLB, .gltf → glTF JSON, .stl → STL).
formatOrOptions FileFormat | SaveOptions (voliteľné)
Buď formátový singleton (napr., GltfFormat.getInstance()) SaveOptions podtriedu.
options SaveOptions (voliteľné)
Formátovo špecifické možnosti ukladania, keď je FileFormat je odovzdaný ako druhý argument.
ImageRenderOptions
void
ImageRenderOptions
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)
Vytvorí nový pomenovaný animačný klip a pridá ho do animationClips kolekcie scény.
createAnimationClip(name: string): AnimationClipImageRenderOptions
name string
Popisný názov pre nový animačný klip.
ImageRenderOptions
AnimationClip
Novovytvorená AnimationClip inštancia.
ImageRenderOptions
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}`);