Unity网络产生延迟

时间:2017-04-04 06:38:36

标签: c# unity3d multiplayer unity-networking unet

我已经在教程中实现了网络游戏,客户端会将Cmd火灾发送到服务器,然后服务器会将子弹生成给所有玩家。

当我在局域网上播放时,一切顺利(ping是<20ms)。但是当我尝试使用Match Maker在互联网端运行时,ping> 80ms并且子弹在客户端延迟。<​​/ p>

游戏是能够射击的船,所以当船从左向右移动,然后我射击,子弹被推迟了。当我检查其他游戏(非统一)时,似乎子弹在本地运行。但它不适用于Unity,因为网络对象必须在服务器上生成。延迟拍摄仅适用于我的播放器。有没有解决延误的工作?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

你可以尝试对命中客户端进行计算(所以你计算你是否击中敌人)如果你击中了敌人,你可以通过网络发送伤害或功能/布尔。

这将大大减少交通。并且最有可能解决您的问题。

有关如何同步生命的更多信息,请查看此统一文档。 https://unity3d.com/learn/tutorials/topics/multiplayer-networking/networking-player-health