Class Camera

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

Camera és un Entity que es pot adjuntar a un Node per definir un punt de vista a l’escena. Admet tant projeccions perspectiva com ortogràfiques, controlades per la projectionType propietat. Els paràmetres de la càmera s’emmagatzemen al fitxer 3D quan l’escena es desa en un format que admet càmeres (FBX, COLLADA, glTF).

export class Camera extends Entity

Enumerations

fileOrStream string

Enumerations

Afegeix una càmera perspectiva a una escena i configura el seu frustum.

import { Scene, Node, Camera, ProjectionType } from '@aspose/3d';

const scene = new Scene();

const camNode = scene.rootNode.createChildNode('mainCamera');
const camera = new Camera('mainCamera', ProjectionType.PERSPECTIVE);
camNode.entity = camera;

camera.nearPlane = 0.1;
camera.farPlane = 500;
camera.fieldOfView = 60;
camera.aspect = 16 / 9;

scene.save('output.gltf');
console.log(`Camera projection: ${camera.projectionType}`);
// Camera projection: PERSPECTIVE

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
namestring''El nom d’aquesta càmera, utilitzat per identificar-la al gràfic de l’escena.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Distància des de la càmera fins al pla de retallament proper. Els objectes més propers que aquest valor no es renderitzen.
farPlanenumber1000.0Distància des de la càmera fins al pla de retallament llunyà. Els objectes més llunyans que aquest valor no es renderitzen.
aspectnumber1.0La relació d’aspecte amplada/alçada del visor de la càmera.
fieldOfViewnumber0.0Camp de visió diagonal en graus (projecció en perspectiva).
fieldOfViewXnumber0.0Camp de visió horitzontal en graus.
fieldOfViewYnumber0.0Camp de visió vertical en graus.
orthoHeightnumber100.0L’alçada del volum de projecció ortogràfica. Només rellevant quan projectionType és 'ORTHOGRAPHIC'.
widthnumber0.0Amplada del sensor o del visor, utilitzada quan apertureMode controla la derivació del camp de visió.
heightnumber0.0Alçada del sensor o del viewport.
aspectRationumber1.0Àlies per a la relació d’aspecte, proporcionat per a compatibilitat amb algunes escenes d’origen FBX.

Enumerations

moveForward(distance)

Mou la càmera cap endavant al llarg de la seva direcció de visió per la distància indicada.

moveForward(distance: number): void

Enumerations

distance number

La distància a moure cap endavant. Els valors negatius mouen la càmera cap enrere.

Enumerations

void

Enumerations

import { Scene, Camera, ProjectionType } from '@aspose/3d';

const scene = new Scene();
const camNode = scene.rootNode.createChildNode('cam');
const camera = new Camera('cam', ProjectionType.PERSPECTIVE);
camNode.entity = camera;

camera.moveForward(10);
console.log('Camera moved forward by 10 units.');

Enumerations

  • En el codi font, Camera hereta de Entity. Light també amplia Camera, el que significa Light els objectes tenen totes les propietats de càmera en la jerarquia de tipus; això reflecteix el model de dades FBX on les llums i les càmeres comparteixen un tipus de node base comú.
  • Utilitzeu el ProjectionType constants de classe (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) en lloc de raw string literals per a la seguretat de tipus.
 Català