three.js的改变渲染物体大小的一些小心得

时间:2022-01-06 06:05:03

相机类型

  three.js库里有两种相机:透视投影相机(Perspective Camera)和正交投影相机(Orthographic Camera)。两者的区别:

使用透视投影相机:

three.js的改变渲染物体大小的一些小心得

使用正交投影相机:

three.js的改变渲染物体大小的一些小心得

 

可以看出,使用正交投影相机渲染的小方块尺寸相同,方块与相机之间的距离没有影响渲染结果,而透视投影相机渲染结果则与距离有关系,类似“近大远小”,因而也更接近真实。

 如何改变渲染物体大小

  如果使用的是透视投影相机,可以通过设置相机的fov(视场)属性,fov越大,渲染出的物体越小。也可以通过设置相机的位置(即:camera.position.set(x,y,z);)来达到相同的目的。

 

  如果使用的是正交投影相机,测试发现设置相机的位置没有作用,一个简单的方法是通过相机的zoom属性来完成,需要注意的是,设置完相机的zoom值后(如,camera.zoom = 3;),

需要添加语句:camera.updateProjectionMatrix();来更新相机。