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 SceneObjectBoundingBoxExtent
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
| BoundingBoxExtent | BoundingBoxExtent | BoundingBoxExtent |
|---|---|---|
rootNode | Node | Rotnoden i scengrafen. All geometri, lys, kameraer og andre objekter er festet under denne noden. |
assetInfo | AssetInfo | Metadata om ressursen, inkludert oppretter, opprettelsestid, enhetsinformasjon og koordinatsystem. |
animationClips | AnimationClip[] | Samlingen av animasjonsklipp definert i scenen. Hvert klipp inneholder animasjonskurver for noder og deres egenskaper. |
subScenes | Scene[] | 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): voidBoundingBoxExtent
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): voidBoundingBoxExtent
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): voidBoundingBoxExtent
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): AnimationClipBoundingBoxExtent
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}`);