统一多人游戏-同步转换vs同步设置-navmesh代理

时间:2018-09-20 07:14:25

标签: c# unity3d server udp navmesh

我是脚本新手,我一直在使用Navmesh代理为1V1游戏Mova风格的游戏编写专用的UDP服务器。 我是否应该仅在播放器单击移动并setDestination移动到其他客户端上的那个位置时才不断更新播放器变换或同步? 另外,关于黑客攻击,我是否必须对服务器进行所有检查?谢谢。

1 个答案:

答案 0 :(得分:1)

您有几种方法可以做到这一点,我将指出两种方法的优缺点。

播放器发送单击以将位置移动到服务器。

1)然后,服务器将此位置发送给所有客户端(包括发起方),然后客户端计算路径并开始插补移动。

优点:低带宽,执行速度快且实现复杂度低。

缺点:客户端很容易被黑客入侵。

2)服务器计算玩家需要遵循的路径(寻路),并将路径节点发送给客户端。

优点:不可破解,服务器在每个玩家动作中都有最终决定权

缺点:服务器需要物理或寻路功能才能工作,这确实是很多工作。如果您实施物理学,则可以在服务器上插值运动,并可以定期向客户发送职位以模拟运动。

可以帮助您实施第二个选项的有用技术是BulletSharpSharpNav都需要您将几何体(地形)加载到服务器端)和Snapshot Compression来优化客户端服务器网络物理。

祝您好运,您可以要求任何澄清或帮助。