相機類型
three.js庫里有兩種相機:透視投影相機(Perspective Camera)和正交投影相機(Orthographic Camera)。兩者的區別:
使用透視投影相機:
使用正交投影相機:
可以看出,使用正交投影相機渲染的小方塊尺寸相同,方塊與相機之間的距離沒有影響渲染結果,而透視投影相機渲染結果則與距離有關系,類似“近大遠小”,因而也更接近真實。
如何改變渲染物體大小
如果使用的是透視投影相機,可以通過設置相機的fov(視場)屬性,fov越大,渲染出的物體越小。也可以通過設置相機的位置(即:camera.position.set(x,y,z);)來達到相同的目的。
如果使用的是正交投影相機,測試發現設置相機的位置沒有作用,一個簡單的方法是通過相機的zoom屬性來完成,需要注意的是,設置完相機的zoom值后(如,camera.zoom = 3;),
需要添加語句:camera.updateProjectionMatrix();來更新相機。