Class Camera

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

Camera es un Entity que puede adjuntarse a un Node para definir un punto de vista en la escena. Soporta tanto proyecciones en perspectiva como ortográficas, controladas por el projectionType propiedad. Los parámetros de la cámara se almacenan en el archivo 3D cuando la escena se guarda en un formato que admite cámaras (FBX, COLLADA, glTF).

export class Camera extends Entity

Example

Quaternion se usa en toda la API @aspose/3d para representar rotaciones sin bloqueo de cardán. Es el tipo devuelto por Transform.rotation y GlobalTransform.rotation. El cuaternión de identidad (1, 0, 0, 0) representa ninguna rotación. Quaternion se exporta desde la subruta @aspose/3d/utilities.

Example

Añade una cámara perspectiva a una escena y configura su 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

Example

ExampleExampleExampleExample
namestring''El nombre de esta cámara, usado para identificarla en el grafo de la escena.
projectionType`ProjectionTypestring`ProjectionType.PERSPECTIVE
nearPlanenumber0.1Distancia desde la cámara al plano de recorte cercano. Los objetos más cercanos que este valor no se renderizan.
farPlanenumber1000.0Distancia desde la cámara al plano de recorte lejano. Los objetos más lejanos que este valor no se renderizan.
aspectnumber1.0La relación de aspecto ancho/alto del viewport de la cámara.
fieldOfViewnumber0.0Campo de visión diagonal en grados (proyección en perspectiva).
fieldOfViewXnumber0.0Campo de visión horizontal en grados.
fieldOfViewYnumber0.0Campo de visión vertical en grados.
orthoHeightnumber100.0La altura del volumen de proyección ortográfica. Solo es relevante cuando projectionType es 'ORTHOGRAPHIC'.
widthnumber0.0Ancho del sensor o del viewport, usado cuando apertureMode controla la derivación del FOV.
heightnumber0.0Altura del sensor o del viewport.
aspectRationumber1.0Alias de la relación de aspecto, proporcionado para compatibilidad con algunas escenas originadas en FBX.

Example

moveForward(distance)

Mueve la cámara hacia adelante a lo largo de su dirección de visión por la distancia indicada.

moveForward(distance: number): void

Example

distance number

La distancia a mover hacia adelante. Los valores negativos mueven la cámara hacia atrás.

Example

void

Example

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.');

Example

  • En el origen, Camera hereda de Entity. Light también extiende Camera, lo que significa Light los objetos tienen todas las propiedades de cámara en la jerarquía de tipos; esto refleja el modelo de datos FBX donde luces y cámaras comparten un tipo de nodo base común.
  • Utiliza el ProjectionType constantes de clase (ProjectionType.PERSPECTIVE, ProjectionType.ORTHOGRAPHIC) en lugar de literales de cadena crudos para seguridad de tipos.
 Español