我的目标是渲染collada对象,并将其完美地放置在此对象的图像上。
可以说我有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范围内进行缩放以及对对象进行缩放。