Class Scene
بسته: @aspose/3d (v24.12.0)
Scene ریشهٔ مخزن برای یک گراف صحنهٔ سهبعدی در @aspose/3d. این سلسلهمراتب گرهها، فرادادهها و کلیپهای انیمیشن را نگه میدارد و رابط I/O اصلی برای بارگذاری و ذخیرهسازی فایلهای سهبعدی را فراهم میکند.
export class Scene extends SceneObjectColladaSaveOptions
A3DObject ← SceneObject ← Scene
ColladaSaveOptions
یک فایل OBJ را بارگذاری کنید و تعداد گرههای فرزند در ریشهٔ گراف صحنه را چاپ کنید.
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 | گرهٔ ریشهٔ گراف صحنه. تمام هندسهها، نورها، دوربینها و سایر اشیاء زیر این گره متصل میشوند. |
assetInfo | AssetInfo | فرادادههای مربوط به دارایی، شامل سازنده، زمان ایجاد، اطلاعات واحد و سیستم مختصات. |
animationClips | AnimationClip[] | مجموعهٔ کلیپهای انیمیشن تعریفشده در صحنه. هر کلیپ شامل منحنیهای انیمیشن برای گرهها و ویژگیهای آنها است. |
subScenes | Scene[] | زیرصحنههای تعبیهشده در این صحنه. توسط فرمتهایی مانند FBX که از سلسلهمراتب صحنه پشتیبانی میکنند، استفاده میشود. توجه: این ویژگی در سطح API فعلی تأیید نشده است و ممکن است در دسترس نباشد. |
ColladaSaveOptions
open(fileOrStream, options?)
یک فایل 3D را از مسیر فایل یا یک Buffer به صحنه بارگذاری میکند و محتوای موجود را جایگزین میکند.
open(fileOrStream: string | Buffer, options?: LoadOptions): voidColladaSaveOptions
fileOrStream string | Buffer
مسیر فایل منبع، یا یک Buffer حاوی دادههای خام فایل.
options LoadOptions (اختیاری)
گزینههای بارگذاری مخصوص فرمت. ارسال کنید undefined برای استفاده از پیشفرضها.
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?)
فایلی 3D را از حافظهٔ درونحافظهای بارگذاری میکند Buffer. این بارگذاری ترجیحی است زمانی که دادههای فایل قبلاً در حافظه خوانده شدهاند.
openFromBuffer(buffer: Buffer, options?: LoadOptions): voidColladaSaveOptions
buffer Buffer
یک Node.js Buffer حاوی محتوای کامل فایل.
options LoadOptions (اختیاری)
گزینههای بارگذاری مخصوص فرمت.
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?)
صحنه را در یک فایل ذخیره میکند. قالب از پسوند فایل استخراج میشود، یا میتوانید یک قالبخاص SaveOptions نمونه (یا یک FileFormat singleton) به عنوان آرگومان دوم.
save(fileOrStream: string, formatOrOptions?: FileFormat | SaveOptions, options?: SaveOptions): voidColladaSaveOptions
fileOrStream string
مسیر فایل مقصد. پسوند تعیینکنندهٔ فرمت خروجی است (مثلاً., .glb → GLB, .gltf → glTF JSON،, .stl → STL).
formatOrOptions FileFormat | SaveOptions (اختیاری)
یا یک تکنماد فرمت (مثلاً., GltfFormat.getInstance()) یا یک فرمتخاص SaveOptions زیرکلاس.
options SaveOptions (اختیاری)
گزینههای ذخیرهسازی مخصوص فرمت هنگامیکه یک FileFormat به عنوان آرگومان دوم ارسال میشود.
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)
یک کلیپ انیمیشن نامدار جدید ایجاد میکند و آن را به صحنهٔ animationClips مجموعه.
createAnimationClip(name: string): AnimationClipColladaSaveOptions
name string
یک نام توصیفی برای کلیپ انیمیشن جدید.
ColladaSaveOptions
AnimationClip
مورد تازه ایجاد شده AnimationClip نمونه.
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}`);