说明
基于UE本身提供的RPC同步机制
RPC远程过程调用允许客户端或服务器通过网络连接相互发送消息:
使用时需要注意:
1、必须从 Actor 上调用
2、Actor 必须被复制,注意勾选BP中Replicates,或使变量bReplicates = true
3、注意如果 RPC 是从Client调用并在Server上执行,客户端就必须拥有调用 RPC 的 Actor。
所以在属性同步的地方设置此Actor的Owner,主要用于网络复制,玩家离开交互时Owner置空
PS:引申:考虑到每一位客户端对该actor接管网络消息所有权都需要SetOwner,可能会导致网络延迟或安全性隐患,此处可以根据实际情况进行优化为通过经过玩家进行RPC同步,如由玩家的component发起。
从Server调用RPC的作用范围
从Client调用RPC的作用范围