Class Scene

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

Scene adalah kontainer akar untuk grafik adegan 3D dalam @aspose/3d. Ia menyimpan hierarki node, metadata, dan klip animasi, serta menyediakan antarmuka I/O utama untuk memuat dan menyimpan file 3D.

export class Scene extends SceneObject

BoundingBoxExtent

A3DObject ← SceneObject ← Scene

BoundingBoxExtent

Muat file OBJ dan cetak jumlah node anak di akar grafik adegan.

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

BoundingBoxExtent

BoundingBoxExtentBoundingBoxExtentBoundingBoxExtent
rootNodeNodeNode akar dari grafik adegan. Semua geometri, cahaya, kamera, dan objek lainnya terpasang di bawah node ini.
assetInfoAssetInfoMetadata tentang aset, termasuk pembuat, waktu pembuatan, informasi satuan, dan sistem koordinat.
animationClipsAnimationClip[]Koleksi klip animasi yang didefinisikan dalam adegan. Setiap klip berisi kurva animasi untuk node dan propertinya.
subScenesScene[]Sub-adegan yang disematkan dalam adegan ini. Digunakan oleh format seperti FBX yang mendukung hierarki adegan. Catatan: Properti ini belum dikonfirmasi dalam permukaan API saat ini dan mungkin tidak tersedia.

BoundingBoxExtent

open(fileOrStream, options?)

Memuat file 3D dari jalur file atau sebuah Buffer ke dalam adegan, menggantikan konten yang ada.

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

BoundingBoxExtent

fileOrStream string | Buffer

Jalur ke file sumber, atau sebuah Buffer yang berisi data file mentah.

options LoadOptions (opsional)

Opsi pemuatan khusus format. Lewati undefined untuk menggunakan nilai default.

BoundingBoxExtent

void

BoundingBoxExtent

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

Memuat file 3D dari memori Buffer. Ini adalah overload yang disarankan ketika data file sudah dibaca ke memori.

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

BoundingBoxExtent

buffer Buffer

Sebuah Node.js Buffer yang berisi konten file lengkap.

options LoadOptions (opsional)

Examples.

BoundingBoxExtent

void

BoundingBoxExtent

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

Menyimpan adegan ke sebuah file. Formatnya diinferrensi dari ekstensi file, atau Anda dapat memberikan sebuah format-spesifik SaveOptions instance (atau sebuah FileFormat singleton) sebagai argumen kedua.

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

BoundingBoxExtent

fileOrStream string

Jalur file tujuan. Ekstensi menentukan format output (misalnya,., .glb → GLB, .gltf → glTF JSON, .stl → STL).

formatOrOptions FileFormat | SaveOptions (opsional)

Baik sebuah singleton format (misalnya,., GltfFormat.getInstance()) SaveOptions subkelas.

options SaveOptions (opsional)

Opsi penyimpanan spesifik format ketika sebuah FileFormat dilewatkan sebagai argumen kedua.

BoundingBoxExtent

void

BoundingBoxExtent

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)

Membuat klip animasi bernama baru dan menambahkannya ke scene animationClips koleksi.

createAnimationClip(name: string): AnimationClip

BoundingBoxExtent

name string

Nama deskriptif untuk klip animasi baru.

BoundingBoxExtent

AnimationClip

Yang baru dibuat AnimationClip instance.

BoundingBoxExtent

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