Class Camera
Class Camera
包:: @aspose/3d (v24.12.0)
Camera 是一个 Entity 可以附加到一个 Node 用于在场景中定义视点。它支持透视和正交投影,由 projectionType 属性。当场景保存为支持相机的格式(FBX、COLLADA、glTF)时,摄像机参数会存储在 3D 文件中。.
export class Camera extends EntityProperties
A3DObject ← SceneObject ← Entity ← Camera
Properties
向场景中添加一个透视 camera 并配置其视锥体。.
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
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
name | string | '' | 此摄像机的名称,用于在场景图中标识它。. |
projectionType | `ProjectionType | string` | ProjectionType.PERSPECTIVE |
nearPlane | number | 0.1 | 相机到近裁剪平面的距离。距离此值更近的对象不会被渲染。. |
farPlane | number | 1000.0 | 相机到远裁剪平面的距离。距离此值更远的对象不会被渲染。. |
aspect | number | 1.0 | 相机视口的宽高比。. |
fieldOfView | number | 0.0 | 对角视场角(度),用于透视投影。. |
fieldOfViewX | number | 0.0 | 水平视场角(度)。. |
fieldOfViewY | number | 0.0 | 垂直视场角(度)。. |
orthoHeight | number | 100.0 | 正交投影体的高度。仅在以下情况相关: projectionType 是 'ORTHOGRAPHIC'. |
width | number | 0.0 | 传感器或视口宽度,用于当 apertureMode 控制视场角的推导。. |
height | number | 0.0 | 传感器或视口高度。. |
aspectRatio | number | 1.0 | 宽高比的别名,为了兼容某些 FBX 起源的场景而提供。. |
Properties
moveForward(distance)
使 camera 沿其观察方向向前移动指定的距离。.
moveForward(distance: number): voidProperties
distance number
向前移动的距离。负值会使 camera 向后移动。.
Properties
void
Properties
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.');Properties
- 在源代码中,,
Camera继承自Entity.Light也扩展自Camera,,这意味着Light对象在类型层次结构中拥有所有相机属性;这反映了 FBX 数据模型,其中灯光和相机共享一个公共的基节点类型。. - 使用
ProjectionType类常量 (ProjectionType.PERSPECTIVE,ProjectionType.ORTHOGRAPHIC) 而不是原始字符串字面量,以确保类型安全。.