Class Scene

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

Scene er rotbeholderen for en 3D-scengraf i @aspose/3d. Den holder nodehierarkiet, metadata og animasjonsklipp, og gir det primære I/O-grensesnittet for lasting og lagring av 3D-filer.

export class Scene extends SceneObject

BoundingBoxExtent

Quaternion representerer en rotasjon som en enhetskvaternion (w, x, y, z) og tilbyr fabrikkmetoder, sfærisk interpolasjon og konvertering til Euler‑vinkler og Matrix4.

BoundingBoxExtent

Quaternion brukes gjennom hele @aspose/3d‑API‑et for å representere rotasjoner uten gimbal‑lås. Det er typen som returneres av Transform.rotation og GlobalTransform.rotation. Identitets‑kvaternionen (1, 0, 0, 0) representerer ingen rotasjon. Quaternion eksporteres fra understien @aspose/3d/utilities.

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
rootNodeNodeRotnoden i scengrafen. All geometri, lys, kameraer og andre objekter er festet under denne noden.
assetInfoAssetInfoMetadata om ressursen, inkludert oppretter, opprettelsestid, enhetsinformasjon og koordinatsystem.
animationClipsAnimationClip[]Samlingen av animasjonsklipp definert i scenen. Hvert klipp inneholder animasjonskurver for noder og deres egenskaper.
subScenesScene[]Underscener innebygd i denne scenen. Brukes av formater som FBX som støtter scenhierarkier. Merk: Denne egenskapen er ikke bekreftet i den nåværende API-overflaten og kan være utilgjengelig.

BoundingBoxExtent

open(fileOrStream, options?)

Laster en 3D-fil fra en filsti eller en Buffer inn i scenen, og erstatter eventuelt eksisterende innhold.

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

BoundingBoxExtent

fileOrStream string | Buffer

Stien til kildefilen, eller en Buffer som inneholder de rå fildataene.

options LoadOptions (valgfritt)

Formatspesifikke lastingsalternativer. Pass undefined for å bruke standardverdier.

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

Laster en 3D‑fil fra minnet Buffer. Dette er den foretrukne overbelastingen når fildataene allerede er lest inn i minnet.

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

BoundingBoxExtent

buffer Buffer

En Node.js Buffer som inneholder hele filinnholdet.

options LoadOptions (valgfritt)

Formatspesifikke lastingsalternativer.

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

Lagrer scenen til en fil. Formatet blir utledet fra filendelsen, eller du kan sende inn et formatspesifikt SaveOptions instans (eller en FileFormat singleton) som det andre argumentet.

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

BoundingBoxExtent

fileOrStream string

Destinasjonsfilens sti. Endelsen bestemmer utdataformatet (f.eks., .glb → GLB, .gltf → glTF JSON, .stl → STL).

formatOrOptions FileFormat | SaveOptions (valgfritt)

Enten en format‑singleton (f.eks., GltfFormat.getInstance()) SaveOptions subklasse.

options SaveOptions (valgfritt)

Formatspesifikke lagringsalternativer når en FileFormat sendes som det andre argumentet.

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)

Oppretter et nytt navngitt animasjonsklipp og legger det til scenens animationClips samling.

createAnimationClip(name: string): AnimationClip

BoundingBoxExtent

name string

Returnerer den inverse kvaternionen. Kaster en feil hvis kvaternionen har null lengde.

BoundingBoxExtent

AnimationClip

Den nyopprettede AnimationClip instansen.

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