告诉子弹过去发生的事情

时间:2014-07-19 06:32:52

标签: c++ network-programming synchronization bulletphysics time-management

是否有可能告诉子弹过去发生过某些事情,以便它可以获取此信息并调整内部插值以显示当前的这种变化? 永远不需要回溯超过1-5秒,5是一个非常罕见的场合,更真实地在1.5到2.5秒之间是大多数变化发生的地方。

也需要在过去的特定时间查询对象位置,旋转和速度的能力,但这很容易实现。

所有这一切背后的原因是为了更容易同步两个物理模拟,特别是在网络环境中。

实时运行模拟的服务器会定期向客户端模拟发送位置,旋转和速度更新。这些更新将在过去的客户端到达'从客户端模拟的角度来看,由于网络延迟,因此需要查询过去更新的对象值以查看它们是否不同,如果它们不同则需要在过去更改这些值也是必要的。在下一个模拟步骤中,子弹将考虑这些过去的变化并相应地更新对象。

这种能力存在于子弹中还是需要以某种方式模拟?如果需要进行仿真,有人可能会指出我正确的方向来开始这个"倒带和重播"功能?

如果您不熟悉"倒带和重播"本文详细介绍了可能正在创建自己的物理库的人实施背后的理论。 http://gafferongames.com/game-physics/n ... d-physics /

0 个答案:

没有答案