var offset=10000000;
...
camera.position.set(offset,offset,400);
mesh.position.set(offset-300,offset,0);
camera.lookAt(mesh.position);
...
animate();
变量“offset”,用于指示摄像机和网格的位置。 如果将其值设置为100000000,则在动画期间会出现奇怪的行为 如果你设置了10000000,那么一切都很好
为什么这样?如何指定坐标超过100000000的对象的位置,例如?
答案 0 :(得分:0)
这些数字比我预期的要小一点,但我想我可以放心地认为这是一个经典的浮点精度误差问题。
使用浮点运算时,计算机通常不是非常大或非常小。
我真的只能建议您适当缩放场景,以使数字保持在更合理的范围内。
请参阅https://stackoverflow.com/a/26090323/868679了解相关答案
编辑:阅读http://www.songho.ca/opengl/gl_projectionmatrix.html#perspective后,您可以看到用于投影相机矩阵的近端和远端值会影响精度误差。要减少错误,请尽量保持近距离和远距离值。