📅  最后修改于: 2023-12-03 15:20:37.624000             🧑  作者: Mango
Three.js 中的相机是用来从用户角度来捕捉场景中的图像。三维场景中的物体位置都是相对于相机的位置而言的。通过改变相机的位置和角度可以改变场景中物体的视觉效果。
Three.js 中提供了多种类型的相机,以满足不同场景的需求:
透视相机是最常使用的相机类型,它呈现出与人眼类似的近大远小的效果。透视相机可以通过以下方式创建:
const camera = new THREE.PerspectiveCamera(fov, aspect, near, far);
参数:
fov
:视场角,单位为弧度。aspect
:视图的宽高比(画布宽度除以画布高度)。near
:近截面。far
:远截面。正交相机可以呈现大小在屏幕上保持不变的物体效果,适用于二维游戏或简单的线框图。正交相机可以通过以下方式创建:
const camera = new THREE.OrthographicCamera(left, right, top, bottom, near, far);
参数:
left
:最左侧平面的位置。right
:最右侧平面的位置。top
:最上侧平面的位置。bottom
:最下侧平面的位置。near
:近截面。far
:远截面。立方体相机用于在一个立方体中渲染环境贴图,一般用于反射和折射效果的实现。
const camera = new THREE.CubeCamera(near, far, resolution);
参数:
near
:近截面。far
:远截面。resolution
:立方体纹理的大小。如果未指定,默认为 256。Three.js 中还提供了许多相机控制器,可以通过鼠标和键盘等操作来调整相机的位置和角度: