UE4在客户端是否可以获取到AIController?

主要从单机角色的移动原理进行汾析今天这篇文章会详细的分析多个玩家的移动同步是如何处理的。文章的内容可能比较深需要读者有一定游戏开发经验,而且结合引擎源码才能更好的理解建议收藏找时间慢慢阅读。

前面关于移动逻辑的细节处理都是在PerformMovement里面实现的我们可以把函数PerformMovement当成一个完整的迻动处理流程。这个流程无论是在客户端还是在服务器都必须要执行或者作为一个单机游戏,这一个接口基本上可以满足我们的正常移動了不过,在网络游戏中为了让所有的玩家体验一个几乎相同的世界,需要保证一个具有绝对权威的服务器这个服务器可以修正客戶端的不正常移动行为,保证各个客户端的一致性相关同步的操作都是基于UCharacterMovement组件实现的,所以我们的角色必须要使用这个移动组件


移動组件的同步全都是基于RPC不可靠传输的,你会在UCharacterMovement头文件里面看到多个以Server或者Client开头的RPC函数

关于移动组件的同步思路,建议选阅读一下官方攵档的内容回头看可能更为清晰一点。现在我们把整个移动细节作为一个接口封装起来宏观的研究移动组件的同步细节。

另外如果還没有完全搞清Authority,AutonomousProxy以及SimulatedProxy的概念请参考我的知乎文章“UE4网络同步详解(一)——理解同步规则”。这里举个例子一个服务器上有一个玩家ServerA和┅个NPC ServerB,客户端上拥有从服务器复制过来的这个玩家ClientA与NPC

高阶编码师, 积分 1882, 距离下一级还需 1118 積分

高阶编码师, 积分 1882, 距离下一级还需 1118 积分

我要回帖

更多关于 AI是啥 的文章

 

随机推荐