《UE4游戏开发》之 《实现在阶段性播特效,下个阶段结束》

  1. 明确服务器的心跳检测是一个定值;意味着服务器同步数据的间隔也是一个定值;因此,通过服务器数据同步来控制特效的播放时机是错误的。
  2. 由1分析可知,需要自己在客户端通过tick去更新时间值。
  3. 具体做法:在触发阶段开始,通过创建一个成员变量CacheRemainTime记录当前阶段的总时间;通过创建一个变量StartPlayParticleTime记录开始播放特效的时间,并根据特效时间进行估值;在接收服务器数据的对象tick中去算CacheRemainTime -= DeltaTime;当CacheRemainTime 小于StartPlayParticleTime时,开始触发特效播放,这样能尽可能实现,特效播完就进入下一个阶段。
    4.总结:上述最佳适用于组队模式游戏,因为这种模式,不可能由客户端特效播完后通知服务器,然后服务器才进入下一个阶段,如果其中一个客户端没有正常执行,将影响其他人的游戏体验,因为可能组队中,因为一个客户端出问题,导致其他人不能正常游戏

猜你喜欢

转载自blog.csdn.net/qq_21919621/article/details/106592522