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 EntityExample
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
| Name | Type | Access | Description |
|---|---|---|---|
name | string | Read/Write | Gets the name. |
parentNodes | any[] | Read | Gets the parent nodes. |
excluded | boolean | Read/Write | Gets the excluded. |
parentNode | any | Read/Write | Gets the parent node. |
rotationMode | any | Read/Write | Gets the rotation mode. |
nearPlane | number | Read/Write | Gets the near plane. |
farPlane | number | Read/Write | Gets the far plane. |
aspect | number | Read/Write | Gets the aspect. |
orthoHeight | number | Read/Write | Gets the ortho height. |
up | any | Read/Write | Gets the up. |
lookAt | any | Read/Write | Gets the look at. |
direction | any | Read/Write | Gets the direction. |
target | any | Read/Write | Gets the target. |
apertureMode | any | Read/Write | Gets the aperture mode. |
fieldOfView | number | Read/Write | Gets the field of view. |
fieldOfViewX | number | Read/Write | Gets the field of view x. |
fieldOfViewY | number | Read/Write | Gets the field of view y. |
width | number | Read/Write | Gets the width. |
height | number | Read/Write | Gets the height. |
aspectRatio | number | Read/Write | Gets the aspect ratio. |
magnification | any | Read/Write | Gets the magnification. |
projectionType | string | Read/Write | Gets the projection type. |
| Signature | Description |
|---|---|
| `constructor(name: string | null, projectionType: any)` |
moveForward(_distance: number) | Moves the camera forward by the specified distance |
getBoundingBox() → any | Returns the bounding box. |
getEntityRendererKey() → any | Not implemented in the FOSS edition — throws at runtime. Returns the entity renderer key. |
| `removeProperty(_prop: Property | string) → boolean` |
getProperty(_property: string) → any | Returns the value of the specified property |
setProperty(_property: string, _value: any) | Sets the property value. |
findProperty(_property: string) → `Property | null` |
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): voidExample
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,
Camerahereda deEntity.Lighttambién extiendeCamera, lo que significaLightlos 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
ProjectionTypeconstantes de clase (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) en lugar de literales de cadena crudos para seguridad de tipos.