Class Scene
Pakej: @aspose/3d (v24.12.0)
Scene adalah kontena akar untuk graf adegan 3D dalam @aspose/3d. Ia menyimpan hierarki nod, metadata, dan klip animasi, serta menyediakan antara muka I/O utama untuk memuatkan dan menyimpan fail 3D.
export class Scene extends SceneObjectColladaSaveOptions
Rujukan untuk semua kelas pilihan muat naik dan simpan khusus format dalam @aspose/3d, meliputi glTF, OBJ, STL, dan FBX.
ColladaSaveOptions
Muatkan fail OBJ dan cetak bilangan nod anak dalam akar graf 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}`);ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
rootNode | Node | Nod akar graf adegan. Semua geometri, lampu, kamera, dan objek lain dilampirkan di bawah nod ini. |
assetInfo | AssetInfo | Metadata mengenai aset, termasuk pencipta, masa penciptaan, maklumat unit, dan sistem koordinat. |
animationClips | AnimationClip[] | Koleksi klip animasi yang ditakrifkan dalam adegan. Setiap klip mengandungi lengkung animasi untuk nod dan sifatnya. |
subScenes | Scene[] | Sub-adegan yang terbenam dalam adegan ini. Digunakan oleh format seperti FBX yang menyokong hierarki adegan. Nota: Sifat ini belum disahkan dalam permukaan API semasa dan mungkin tidak tersedia. |
ColladaSaveOptions
open(fileOrStream, options?)
Muatkan fail 3D dari laluan fail atau Buffer ke dalam adegan, menggantikan sebarang kandungan sedia ada.
open(fileOrStream: string | Buffer, options?: LoadOptions): voidColladaSaveOptions
fileOrStream string | Buffer
Laluan ke fail sumber, atau Buffer yang mengandungi data fail mentah.
options LoadOptions (pilihan)
Pilihan muat khusus format. Lepas undefined untuk menggunakan nilai lalai.
ColladaSaveOptions
void
ColladaSaveOptions
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?)
Muatkan fail 3D dari memori dalam Buffer. Ini adalah overload yang disukai apabila data fail telah dibaca ke dalam memori.
openFromBuffer(buffer: Buffer, options?: LoadOptions): voidColladaSaveOptions
buffer Buffer
Sebuah Node.js Buffer yang mengandungi keseluruhan kandungan fail.
options LoadOptions (pilihan)
Pilihan muat khusus format.
ColladaSaveOptions
void
ColladaSaveOptions
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 dalam fail. Format dikesan daripada sambungan fail, atau anda boleh menghantar format khusus SaveOptions instans (atau satu FileFormat singleton) sebagai argumen kedua.
save(fileOrStream: string, formatOrOptions?: FileFormat | SaveOptions, options?: SaveOptions): voidColladaSaveOptions
fileOrStream string
Laluan fail destinasi. Sambungan menentukan format output (contohnya,., .glb → GLB, .gltf → glTF JSON, .stl → STL).
formatOrOptions FileFormat | SaveOptions (pilihan)
Sama ada satu entiti format (contohnya,., GltfFormat.getInstance()) atau format khusus SaveOptions subkelas.
options SaveOptions (pilihan)
Pilihan simpan khusus format apabila a FileFormat diberikan sebagai argumen kedua.
ColladaSaveOptions
void
ColladaSaveOptions
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)
Mencipta klip animasi bernama baru dan menambahkannya ke koleksi scene animationClips koleksi.
createAnimationClip(name: string): AnimationClipColladaSaveOptions
name string
Nama deskriptif untuk klip animasi baru.
ColladaSaveOptions
AnimationClip
Yang baru dicipta AnimationClip instans.
ColladaSaveOptions
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}`);