我一直在一个太空中设置的游戏中工作,这意味着玩家可以穿过太阳系。
当玩家走得更远时,问题就出现了,并且会出现Float32精度问题。 我一直在寻找几个小时来找到解决方案,但到目前为止没有任何帮助。
我还尝试过将所有网格重新缩放为微小的..比它们的初始比例小约100倍,但在达到更大的坐标时表现相同。
另一个解决方案是翻译世界位置,而不是玩家,这将完成这项任务......但老实说,我不知道如何在不改变每个网格位置的情况下实现这一目标。
我还将渲染器设置为使用{ logarithmicDepthBuffer: true}
,但仍然无法帮助我......播放器模型开始跳跃,闪烁。
我花了很多时间试图找到一个解决方案来帮助我解决这个问题,所以我很感激任何建议。
答案 0 :(得分:2)
要移动场景,您可以使用:
scene.translateX(i);
scene.translateY(i);
scene.translateZ(i);
其中i是现有位置偏移量的增量。这可以给你一个第一人称运动的幻觉。 这是非常大的场景的常见解决方案。