理解透视相机

three.js
2023-10-18 10:15:57

上一篇学完正交相机,可以了解到比较关键的几个概念。

↓ 会员用户可见内容 ↓
您暂无权限阅读此内容😴,请先破解或登录并低成本开通本站会员(很实惠)

正交相机的可视角度接近计算机的平面显示,而透视相机更加符合显示生活中各种生物的视觉特征。透视相机可以设置视角宽度,就好比上篇文章中所提到的,鸟类的视角和人类的视角宽度不同。

关于透视相机的模型可以参考这张图

threejs透视相机

透视相机总体是一个锥型,离相机位置较近的界面叫做近截面,离相机较远的位置叫做远截面。近截面和相机的距离,就是视锥体近端。远截面和相机的距离就是视锥体远端的距离。

透视相机的api如下

PerspectiveCamera( fov : Number, aspect : Number, near : Number, far : Number )
fov — 相机视锥体视野宽度.
aspect — 相机视锥体宽高比
near — 视锥体近端
far — 视锥体远端

示例代码:

js 复制代码
// 设置相机
const camera = new THREE.PerspectiveCamera(
  45,
  window.innerWidth / window.innerHeight,
  0.1,
  1000
);
// 设置相机位置
camera.position.set(0, 2, 4);
// 设置相机朝向
camera.lookAt(0, 0, 0);
// 将相机添加到场景中
scene.add(camera);