之前我们所做的联机所连接的都是我们自己的本地网络(localhost),然而在实际的网络游戏中,根据每个玩家的网络的不同,必定会出现延迟,或高或低,如若出现了延迟,那么动画的流畅度肯定又是不一样的感觉,这一部分就要尝试着模拟网络的延迟。
如何实现延迟的模拟呢?在Menu场景下的NetworkManager物体中,有一个NetworkManager的组件,勾选其中的选项——Use Network Simulator
可以看到其中有两个值——Simulated Average Latency 和Simulated Packet Loss,分别是模拟延迟的平均值和模拟丢包率,此时我们设其值分别为150milsec和1%
build and run后,可以感受到来自延迟满满的恶意。
另外:关于两个Player的碰撞问题,可以将Player中的Character Controller开启,并且在Player_NetworkSetup中,将相关的语句注释掉即可。
PS:写在最前面的语句[NetworkSettings(channel=0,sendInterval=0.1f)]有助于改善延迟的状况,具体的作用和用法还不大理解,希望有大神能够帮忙指出,谢谢。