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 SceneObjectImageRenderOptions
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
| ImageRenderOptions | ImageRenderOptions | ImageRenderOptions |
|---|---|---|
rootNode | Node | Główny węzeł grafu sceny. Wszystkie geometrie, światła, kamery i inne obiekty są dołączane pod tym węzłem. |
assetInfo | AssetInfo | Metadane dotyczące zasobu, w tym twórca, czas utworzenia, informacje o jednostkach i system współrzędnych. |
animationClips | AnimationClip[] | Zbiór klipów animacji zdefiniowanych w scenie. Każdy klip zawiera krzywe animacji dla węzłów i ich właściwości. |
subScenes | Scene[] | 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): voidImageRenderOptions
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): voidImageRenderOptions
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): voidImageRenderOptions
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): AnimationClipImageRenderOptions
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}`);