Threejs和大位置值

时间:2016-04-19 14:47:11

标签: three.js

我正在创建一个我想使用真实世界大小的应用程序。想一想太阳系。目前我正在使用OrbitControls,虽然我更新目标,但是当位置变大时它似乎会中断。场景开始摇晃,请参阅fiddle

camera.position.set(x, y, z - 20);
controls.target.set(x, y, z);
controls.update();

使用大型职位还有其他陷阱吗?

1 个答案:

答案 0 :(得分:2)

javascript使用浮点运算(而webgl只使用32位浮点数) - 非常大且非常小的数字会遇到“舍入”问题,如果你使用较小的(* 1/100)数字抖动将停止为你

查看类似问题Objects with big speed are flickering/jumping

如果你想要很远的距离,你可以查看基于日志的距离http://threejs.org/examples/#webgl_camera_logarithmicdepthbuffer