Class Scene

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

Scene, bir 3D sahne grafiği için kök kapsayıcıdır @aspose/3d. Düğüm hiyerarşisini, meta verileri ve animasyon kliplerini tutar ve 3D dosyalarını yüklemek ve kaydetmek için birincil G/Ç arayüzünü sağlar.

export class Scene extends SceneObject

Enumerations

A3DObject ← SceneObject ← Scene

Enumerations

Bir OBJ dosyası yükleyin ve sahne grafiğinin kökündeki alt düğüm sayısını yazdırın.

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

Enumerations

EnumerationsEnumerationsEnumerations
rootNodeNodeSahne grafiğinin kök düğümü. Tüm geometri, ışıklar, kameralar ve diğer nesneler bu düğümün altında bağlanır.
assetInfoAssetInfoVarlık hakkında meta veriler, oluşturucu, oluşturulma zamanı, birim bilgisi ve koordinat sistemi dahil.
animationClipsAnimationClip[]Sahnede tanımlanan animasyon kliplerinin koleksiyonu. Her klip, düğümler ve özellikleri için animasyon eğrileri içerir.
subScenesScene[]Bu sahne içinde gömülü alt sahneler. Sahne hiyerarşilerini destekleyen FBX gibi formatlar tarafından kullanılır. Not: Bu özellik mevcut API yüzeyinde doğrulanmamıştır ve mevcut olmayabilir.

Enumerations

open(fileOrStream, options?)

Bir dosya yolundan veya bir Buffer sahneye yükler, mevcut içeriği değiştirir.

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

Enumerations

fileOrStream string | Buffer

Kaynak dosyanın yolu, veya bir Buffer ham dosya verilerini içeren.

options LoadOptions (isteğe bağlı)

Biçime özgü yükleme seçenekleri. Geç undefined varsayılanları kullanmak için.

Enumerations

void

Enumerations

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

Bellekteki bir 3D dosyasını yükler Buffer. Dosya verileri zaten belleğe okunmuş olduğunda tercih edilen aşırı yüklemedir.

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

Enumerations

buffer Buffer

Bir Node.js Buffer tam dosya içeriğini içeren.

options LoadOptions (isteğe bağlı)

Biçime özgü yükleme seçenekleri.

Enumerations

void

Enumerations

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

Sahneyi bir dosyaya kaydeder. Biçim dosya uzantısından çıkarılır, ya da bir biçim‑özel SaveOptions örnek (veya bir FileFormat tekil) ikinci argüman olarak.

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

Enumerations

fileOrStream string

Hedef dosya yolu. Uzantı çıktı biçimini belirler (örneğin,., .glb → GLB, .gltf → glTF JSON, .stl → STL).

formatOrOptions FileFormat | SaveOptions (isteğe bağlı)

Ya bir biçim tekili (örneğin,., GltfFormat.getInstance()) SaveOptions alt sınıf.

options SaveOptions (isteğe bağlı)

Biçim-özel kaydetme seçenekleri bir FileFormat ikinci argüman olarak geçirildiğinde.

Enumerations

void

Enumerations

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)

Yeni adlandırılmış bir animasyon klibi oluşturur ve sahnenin animationClips koleksiyonuna.

createAnimationClip(name: string): AnimationClip

Enumerations

name string

Yeni animasyon klibi için açıklayıcı bir ad.

Enumerations

AnimationClip

Yeni oluşturulan AnimationClip örnek.

Enumerations

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}`);
 Türkçe