在three.js当中经常用到相机这个概念,而且有许多种相机,常用的是正交相机和透视相机。可以将相机比喻现实当中人的眼睛,当眼睛在不同的角度时,看到物品的形状不太相同。假如一只鸟和一个人同时在一个位置看同一件物品,看到的也不一样,人眼睛的视角不足90度,而鸟类可以看到180度范围的东西。
↓ 会员用户可见内容 ↓
您暂无权限阅读此内容😴,请先破解或登录并低成本开通本站会员(很实惠)
上一章节在设置相机的部分看到以下代码:
ts
// 设置相机
const rate = width / height
const s = 120;
const camera = new OrthographicCamera(-s * rate,
s * rate, s, -s, 1, 1000)
camera.position.set(400, 800, 300);
camera.lookAt(scene.position)
在第一节当中看到设置相机这块代码,const camera = new OrthographicCamera(-s * rate, s * rate, s, -s, 1, 1000)
对于正交相机而言一共六个参数
OrthographicCamera( left : Number, right : Number, top : Number, bottom : Number, near : Number, far : Number )
left
— 摄像机视锥体左侧面。
right
— 摄像机视锥体右侧面。
top
— 摄像机视锥体上侧面。
bottom
— 摄像机视锥体下侧面。
near
— 摄像机视锥体近端面。
far
— 摄像机视锥体远端面。
↓ 会员用户可见内容 ↓
您暂无权限阅读此内容😴,请先破解或登录并低成本开通本站会员(很实惠)
那么正交相机长什么样子
如图所示的这样,黄线部分就是一个正交相机,正交相机可以理解为一个长方体,锥体近端面是距离观测物的近点,远端面是观测点到物体的具体。结合上下左右四个面共同决定了这个相机。
camera.position.set(400, 800, 300);
这个函数主要改变的是移动观测点的位置,矩形正交相机在
camera.lookAt(scene.position)
这个函数相当于改变观测物观看的角度,相当于人类站在原地转眼睛。