threejs 透视相机PerspectiveCamera

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了threejs 透视相机PerspectiveCamera相关的知识,希望对你有一定的参考价值。

参考技术A PerspectiveCamera( fov : Number, aspect : Number, near : Number, far : Number )
fov — 摄像机视锥体垂直视野角度
aspect — 摄像机视锥体长宽比
near — 摄像机视锥体近端面
far — 摄像机视锥体远端面
只有离相机的距离大于near值,小于far值,且在相机的可视角度之内,才能被相机投影到。

图片定点对应的发射线和两个裁切平面一起定义了一个截断的金字塔,也就是视锥。

想象拿着一根直棍子的一端对着相机并拍照。如果棍子正对着照片的中心,垂直于相机镜片,那么相机上只会看到一个圆;除了棍子的近端其它部分会被遮挡。如果将棍子向上移,慢慢能看见棍子的远端,但是将棍子向上翘起又会将远端隐藏起来。继续向上移动并向上调整棍子角度,圆形的端点最终会到达照片的边缘。在这个点上,现实世界中所有在棍子所在线上方的物体在照片中都不会出现。

ThreeJS:更新相机 FOV

【中文标题】ThreeJS:更新相机 FOV【英文标题】:ThreeJS: update camera FOV 【发布时间】:2014-04-08 08:39:43 【问题描述】:

我正在尝试在不创建新相机的情况下更新相机视野。通过使用下面的代码,我已经能够对位置执行此操作:

camera.position.set()

我想用 fov 类似的方式进行设置:

camera.fov.set()

这在脚本中不起作用。其他人可以提出一个快速的方法吗?

【问题讨论】:

【参考方案1】:

你需要重新计算投影矩阵:

camera.fov = 20;
camera.updateProjectionMatrix();

这可能会在未来被美化......

【讨论】:

以上是关于threejs 透视相机PerspectiveCamera的主要内容,如果未能解决你的问题,请参考以下文章

Threejs - 相机? 什么是相机? 照相机?

转 threejs中3D视野的缩放实现

ThreeJS将相机更改为正交

基于threeJS实现圣诞节孔明灯效果

WebGL5---三维空间的观察

相机自动旋转threejs