相机类型
three.js库里有两种相机:透视投影相机(Perspective Camera)和正交投影相机(Orthographic Camera)。两者的区别:
使用透视投影相机:
使用正交投影相机:
可以看出,使用正交投影相机渲染的小方块尺寸相同,方块与相机之间的距离没有影响渲染结果,而透视投影相机渲染结果则与距离有关系,类似“近大远小”,因而也更接近真实。
如何改变渲染物体大小
如果使用的是透视投影相机,可以通过设置相机的fov(视场)属性,fov越大,渲染出的物体越小。也可以通过设置相机的位置(即:camera.position.set(x,y,z);)来达到相同的目的。
如果使用的是正交投影相机,测试发现设置相机的位置没有作用,一个简单的方法是通过相机的zoom属性来完成,需要注意的是,设置完相机的zoom值后(如,camera.zoom = 3;),
需要添加语句:camera.updateProjectionMatrix();来更新相机。