Class Scene

بسته: @aspose/3d (v24.12.0)

Scene ریشهٔ مخزن برای یک گراف صحنهٔ سه‌بعدی در @aspose/3d. این سلسله‌مراتب گره‌ها، فراداده‌ها و کلیپ‌های انیمیشن را نگه می‌دارد و رابط I/O اصلی برای بارگذاری و ذخیره‌سازی فایل‌های سه‌بعدی را فراهم می‌کند.

export class Scene extends SceneObject

ColladaSaveOptions

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

ColladaSaveOptionsColladaSaveOptionsColladaSaveOptions
rootNodeNodeگرهٔ ریشهٔ گراف صحنه. تمام هندسه‌ها، نورها، دوربین‌ها و سایر اشیاء زیر این گره متصل می‌شوند.
assetInfoAssetInfoفراداده‌های مربوط به دارایی، شامل سازنده، زمان ایجاد، اطلاعات واحد و سیستم مختصات.
animationClipsAnimationClip[]مجموعهٔ کلیپ‌های انیمیشن تعریف‌شده در صحنه. هر کلیپ شامل منحنی‌های انیمیشن برای گره‌ها و ویژگی‌های آن‌ها است.
subScenesScene[]زیرصحنه‌های تعبیه‌شده در این صحنه. توسط فرمت‌هایی مانند FBX که از سلسله‌مراتب صحنه پشتیبانی می‌کنند، استفاده می‌شود. توجه: این ویژگی در سطح API فعلی تأیید نشده است و ممکن است در دسترس نباشد.

ColladaSaveOptions

open(fileOrStream, options?)

یک فایل 3D را از مسیر فایل یا یک Buffer به صحنه بارگذاری می‌کند و محتوای موجود را جایگزین می‌کند.

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

ColladaSaveOptions

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): void

ColladaSaveOptions

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): void

ColladaSaveOptions

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): AnimationClip

ColladaSaveOptions

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}`);
 فارسی