阅读 202
Three.js之Camera

Three.js之Camera

Camera有OrthographicCamera、PerspectiveCamera、ArrayCamera、CubeCamera、StereoCamera几种,下边主要介绍OrthographicCamera(正交相机)、PerspectiveCamera(透视相机)

正投影和透视投影

为了理解正交相机和透视相机先了解一下正投影和透视投影。正投影是指平行投射线垂直于投影面,无论物体距离相机远近,在最终渲染的图片中物体的大小都保持不变。透视投影属于中心投影,是从某个投射中心将物体投射到单一投影面上所得到的图形,是模拟人眼所看到的景象。

正投影

透视投影

OrthographicCamera正交相机

OrthographicCamera用于2D场景渲染。

OrthographicCamera( left : Number, right : Number, top : Number, bottom : Number, near : Number, far : Number ),有6个参数:

  • left, right, top, bottom:前四个参数很好理解,就是上下左右4个平面,默认为-1、1、1、-1

  • near:近截面,一般为很小的值,默认0.1

  • far:远截面,物体要在远近截面之间才能被看到,远截面太小会看不到完整的场景,远截面默认为2000

2968570380-5d04660037005_fix732.png

PerspectiveCamera透视相机

PerspectiveCamera用于3D场景渲染。

PerspectiveCamera( fov : Number, aspect : Number, near : Number, far : Number ),有四个参数:

  • fov:视体的视野角度,视体指三维世界中在屏幕上可见的区域,即虚拟摄像机的视野,默认为50

  • aspect:长宽比,默认为1,一般会设置为屏幕的宽高比,window.innerWidth / window.innerHeight

  • near,far:远近截面,同OrthographicCamera的near、far

image.png

image.png

其他相机

ArrayCamera是一组PerspectiveCamera,用于VR场景的渲染;CubeCamera是6个PerspectiveCamera的立方摄像机(上下左右前后);StereoCamera是双透视相机,模拟人的双眼的视觉差,用于3D立体成像,用PerspectiveCamera我们看到的还是一个2D平面效果,而StereoCamera则给人真实的3D效果。

通过看官方实例可以更好的了解各种相机的不同效果。

文章分类
后端
文章标签