多人fps碰撞检测和响应

时间:2018-11-26 11:24:10

标签: multiplayer game-development

多人FPS。简单物理学。玩家可以相互撞撞,彼此跳跃,别无其他。他们不能互相推动-只能挡路。

假设我们有2个玩家-A和B。从A的角度来看,他的玩家角色是实时的,而由于实体插值,玩家B过去有点过时。我知道要正确记录镜头,我们必须执行滞后补偿,即在服务器上倒带时间以重建玩家拉动扳机时看到的内容。但是碰撞检测和响应呢?我们也应该倒带时间吗?

玩家A碰到玩家B。我们从A的机器将输入发送到服务器,并运行客户端预测。然后,服务器收到一条消息,倒回世界以重建玩家A看到的内容,进行物理模拟。之后,我们将获得玩家A的正确变换和物理数据,并将其发送给他,以便他在必要时可以进行校正。但是玩家B呢?他怎么办我们也可以为他获取变换和物理数据,但这是“过去”数据。那么如何处理这些数据呢?我们必须让他处于服务器上的当前状态。应用数据,然后重新应用过去的输入以快速将其恢复为现在?好像错了还是只是把它扔掉,然后在倒带时间之前使用我们在播放器B上拥有的任何数据?

我不能为这项任务而忙。也许甚至不需要执行任何操作,因为服务器会看到当前的每个人,这意味着玩家A和B在A或B在其机器上体验到它之前将在服务器上发生碰撞,因此从客户的观点。

请为我指明正确的方向。

0 个答案:

没有答案