我的目标是渲染collada对象,并将其完美地放置在此对象的图像上。

javascript - 如何控制THREE.PerspectiveCamera的透视变形-LMLPHP

可以说我有3ds max中由v-ray渲染器渲染的图像(绿色)
和collada对象,我使用透视相机(红色的一个)由三个js渲染。

问题是我在渲染对象上的透视失真比在图像上更大。

我看到THREE.PerspectiveCamera具有focus属性,看起来像我想要的。但是当我改变它时,什么也没有发生。

THREEJS文档说:


  。焦点
  
  用于立体镜和景深效果的物距。这个
  参数不会影响投影矩阵,除非
  正在使用StereoCamera。


但是我在三个js文档中都没有找到有关StereoCamera的任何信息。



有人可以帮我解决这个问题吗?

最佳答案

最好更改PerspectiveCamera的FOV。

camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 3000);


因此,第一个参数60是视野(FOV)。此参数的值越小,失真越小,但是向后移动相机以保持适当的场景视角时,您就越需要更多,或者将对象缩小时,就需要更多的时间。取决于您想要获得什么,在相机的FOV范围内进行缩放以及对对象进行缩放。

10-05 17:46