📜  threejs 相机 - Javascript (1)

📅  最后修改于: 2023-12-03 15:20:37.624000             🧑  作者: Mango

Three.js 相机

介绍

Three.js 中的相机是用来从用户角度来捕捉场景中的图像。三维场景中的物体位置都是相对于相机的位置而言的。通过改变相机的位置和角度可以改变场景中物体的视觉效果。

可用的相机

Three.js 中提供了多种类型的相机,以满足不同场景的需求:

透视相机(PerspectiveCamera)

透视相机是最常使用的相机类型,它呈现出与人眼类似的近大远小的效果。透视相机可以通过以下方式创建:

const camera = new THREE.PerspectiveCamera(fov, aspect, near, far);

参数:

  • fov:视场角,单位为弧度。
  • aspect:视图的宽高比(画布宽度除以画布高度)。
  • near:近截面。
  • far:远截面。
正交相机(OrthographicCamera)

正交相机可以呈现大小在屏幕上保持不变的物体效果,适用于二维游戏或简单的线框图。正交相机可以通过以下方式创建:

const camera = new THREE.OrthographicCamera(left, right, top, bottom, near, far);

参数:

  • left:最左侧平面的位置。
  • right:最右侧平面的位置。
  • top:最上侧平面的位置。
  • bottom:最下侧平面的位置。
  • near:近截面。
  • far:远截面。
立方体相机(CubeCamera)

立方体相机用于在一个立方体中渲染环境贴图,一般用于反射和折射效果的实现。

const camera = new THREE.CubeCamera(near, far, resolution);

参数:

  • near:近截面。
  • far:远截面。
  • resolution:立方体纹理的大小。如果未指定,默认为 256。
相机控制器

Three.js 中还提供了许多相机控制器,可以通过鼠标和键盘等操作来调整相机的位置和角度:

  • OrbitControls:让用户可以围绕场景中心旋转、缩放和平移。
  • FlyControls:可以让用户自由运动,就像在游戏中一样。
  • TrackballControls:将鼠标操作映射到球体上,来对相机进行控制。
更多信息