UE4学习记录-网络同步补遗
只有Server端存在多个PlayerController,客户端仅存在一个PlayerController(LocalPlayer),在PlayerController写RPC函数时需要注意到这点
使用Object作为RPC的参数时,务必要确保这个Object在被调用的客户端和服务端都存在,否则你会发现传递过去的参数变成了空值。尤其是使用一些动态生成的Object,确保这个Object已经复制到远端以后,再去调用相关的RPC
RPC函数只能接受UObject类型的指针参数,非继承于UObject的类是无法作为RPC参数的,并且RPC函数不能有返回值:)
在Character中的BeginPlay()中调用RPC存在风险,有可能这个时候PostLogin还没有调用,那么这个时候调用的RPC函数是无效的。同样的,如果PostLogin没有调用,那么IslocalController()的判定结果也不可信。