透视投影照相机
构造函数解释
1 | THREE.PerspectiveCamera(fov, aspect, near, far) |
透视照相机投影图
透视图中,灰色的部分是视景体,是可能被渲染的物体所在的区域。
fov
是视景体竖直方向上的张角(是角度制而非弧度制),如侧视图所示。fov
越大,视景体变大,显示物体相对于整个视景体大小变小。
aspect
等于width / height
,是照相机水平方向和竖直方向长度的比值,通常设为Canvas的横纵比例。
near
和far
分别是照相机到视景体最近、最远的距离,均为正值,且far
应大于near
。
实例说明
下面,我们通过一个例子来学习透视投影照相机。
基本设置
设置照相机,Canvas长400px
,宽300px
,所以aspect设为400 / 300
:
1 | let camera = new THREE.PerspectiveCamera(45,400/300,1,10); |
设置一个在原点处的边长为1的正方体:
1 | // a cube in the scene |
得到效果:
透视投影可以看到全部的12条边,而且有近大远小的效果,这也就是与正交投影的区别。