使用浮动原点时跟踪"real"世界坐标



在我的游戏中,我尝试使用'浮点原点'方法来防止浮点不精确而导致模型变形。 每个游戏循环,我都会检查我的玩家位置 (sqrt(dx * dx + dy * dy + dz * dz(( 与移动原点有一定距离(从 0, 0, 0 开始( 每当玩家离原点有一定距离时,我就会将玩家移回 0、0、0 以及其他所有内容,然后将移动原点设置为玩家的最后一个位置。

但是,我很难跟踪玩家的"真实"位置,因为原点一直在移动,我应该使用网格系统吗?

你会推荐什么?

这是一个很好的问题,因为在单精度的速度和双精度的精度之间总是存在权衡。

我使用双精度
  • 累加器跟踪班次,以便
    随时使用双精度Vector3d进行精确
    计算。
  • 对于距离,
  • 比较距离平方的速度更快,并在
    大规模系统中使用双精度,因为如果 您对地球比例或更大比例的单个精度值进行平方,然后
    它们会迅速溢出并失去精度。
  • 这是一个演示,我使用单精度进行每帧的高速渲染,在后端,双精度用于定期检查距离、接近度等。

相关内容

  • 没有找到相关文章

最新更新