Class Scene

Pakiet: @aspose/3d (v24.12.0)

Scene jest głównym kontenerem dla grafu sceny 3D w @aspose/3d. Przechowuje hierarchię węzłów, metadane oraz klipy animacji i zapewnia podstawowy interfejs I/O do ładowania i zapisywania plików 3D.

export class Scene extends SceneObject

ImageRenderOptions

A3DObject ← SceneObject ← Scene

ImageRenderOptions

Wczytaj plik OBJ i wypisz liczbę węzłów potomnych w korzeniu grafu sceny.

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

ImageRenderOptionsImageRenderOptionsImageRenderOptions
rootNodeNodeGłówny węzeł grafu sceny. Wszystkie geometrie, światła, kamery i inne obiekty są dołączane pod tym węzłem.
assetInfoAssetInfoMetadane dotyczące zasobu, w tym twórca, czas utworzenia, informacje o jednostkach i system współrzędnych.
animationClipsAnimationClip[]Zbiór klipów animacji zdefiniowanych w scenie. Każdy klip zawiera krzywe animacji dla węzłów i ich właściwości.
subScenesScene[]Podsceny osadzone w tej scenie. Używane przez formaty takie jak FBX, które obsługują hierarchie scen. Uwaga: Ta właściwość nie jest potwierdzona w bieżącym interfejsie API i może nie być dostępna.

ImageRenderOptions

open(fileOrStream, options?)

Ładuje plik 3D ze ścieżki pliku lub a Buffer do sceny, zastępując istniejącą zawartość.

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

ImageRenderOptions

fileOrStream string | Buffer

Ścieżka do pliku źródłowego lub a Buffer zawierająca surowe dane pliku.

options LoadOptions (opcjonalnie)

Opcje ładowania specyficzne dla formatu. Przekaż undefined aby użyć wartości domyślnych.

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

Ładuje plik 3D z pamięci Buffer. Jest to preferowane przeciążenie, gdy dane pliku zostały już wczytane do pamięci.

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

ImageRenderOptions

buffer Buffer

Node.js Buffer zawierający pełną zawartość pliku.

options LoadOptions (opcjonalnie)

Opcje ładowania specyficzne dla formatu.

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

Zapisuje scenę do pliku. Format jest wywnioskowany z rozszerzenia pliku, lub możesz przekazać specyficzny dla formatu SaveOptions instancję (lub FileFormat singleton) jako drugi argument.

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

ImageRenderOptions

fileOrStream string

Ścieżka docelowego pliku. Rozszerzenie określa format wyjściowy (np., .glb → GLB, .gltf → glTF JSON, .stl → STL).

formatOrOptions FileFormat | SaveOptions (opcjonalnie)

Albo pojedynczy format (np., GltfFormat.getInstance()) lub specyficzny dla formatu SaveOptions podklasa.

options SaveOptions (opcjonalnie)

Opcje zapisu specyficzne dla formatu, gdy FileFormat jest przekazywany jako drugi 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)

Tworzy nowy nazwany klip animacji i dodaje go do sceny animationClips kolekcji.

createAnimationClip(name: string): AnimationClip

ImageRenderOptions

name string

Opisowa nazwa nowego klipu animacji.

ImageRenderOptions

AnimationClip

Nowo utworzony AnimationClip instancja.

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