如果靠近 canvas 边,物体会变形 - three.js

Objects distort if near the canvas sides - three.js

我有一个带有球体的 three.js 场景,但是当我放大一个球体并使用轨道控制移动时,它位于 canvas 的一侧(在中心和深处在)它失去了它的圆形(不关心线条):

我能做什么?

总会有一些失真,但如果相机视场 (fov) 较大,情况会更糟。

camera.fov 的合理值是 40-45 度。较小的值会产生较少的失真。

camera = new THREE.PerspectiveCamera( fov, aspect, near, far );

作为参考,camera.fov垂直 方向的视野。

three.js r.70

这是 THREE.PerspectiveCamera 的预期行为。自己在家用数码相机试试吧。

解决它的唯一真正方法是使用三。正交相机,但这可能有其他您不想遇到的问题,例如对象不会变小当他们离得更远时。