【threejs】三要素之相机
相机
相机(Camera)用于定义场景的视角。Three.js 提供了多种相机类型,如:
- 透视相机 PerspectiveCamera
- 正交相机 OrthographicCamera
- 立方相机 CubeCamera
- 阵列相机 ArrayCamera
- 立体相机 StereoCamera
其中最常用的是透视相机(PerspectiveCamera),它模拟人眼的视角,具有近大远小的透视效果。
文档:https://threejs.rocyuan.top/docs/#api/zh/cameras/PerspectiveCamera
创建透视相机
1 |
|
创建透视相机有四个参数,超出视野范围会进行裁切:
- fov:视场角度,以度为单位
- aspect:相机视锥体长宽比
- near:相机视锥体近端面
- far:相机视锥体远端面
常见操作
相机位置
相机的位置可以通过相机的 position 属性来设置,默认值为 (0, 0, 0)。
1 |
|
相机朝向
相机朝向可以通过相机的 lookAt 方法来设置,它接受一个 THREE.Vector3 (三维向量)作为参数,表示相机看向的目标点。
1 |
|
调整视场角(FOV)
视场角(FOV)是相机视野的角度,它可以通过相机的 fov 属性来设置。
1 |
|
调整宽高比(Aspect Ratio)
宽高比(Aspect Ratio)是相机视锥体的长宽比,它可以通过相机的 aspect 属性来设置。
1 |
|
调整近裁剪面和远裁剪面
近裁剪面(Near Clipping Plane)和远裁剪面(Far Clipping Plane)是相机视锥体的两个面,它们可以通过相机的 near 和 far 属性来设置。
1 |
|
相机旋转
相机的旋转可以通过相机的 rotation 属性来设置,单位是弧度。
注意:threejs 中所有的旋转单位均为弧度
弧度、角度 互转参考:【js】角度弧度转换
1 |
|