蓝图:Replicates
Not Replicated:不进行网络复制;
Multicast:由服务器调用,在服务器和所有客户端执行;
Run on Server:在客户端中调用,在服务器中执行;
Run on owning Client:只在有所有权的客户端执行,执行结果不会同步到其他客户端。
执行效果
运行效果的gif大小超过了CSDN的最大限制,可自行下载预览
这里加了一个人物触碰时更改cube颜色的效果,以便同步时显示的更明显。
Actor的所有权—ROLE
UE将Actor的控制权分成了三类,分别是:
ROLE_None:这个None就是我们平常理解的None,不属于下面三种的都是None
ROLE_Authority:服务器拥有所有Actor的控制权,即所有的Actor在服务器端的控制权都是ROLE_Authority
ROLE_AutonomousProxy:客户端对本地Actor拥有这个控制权
ROLE_SimulatedProxy:客户端对网络Actor,即其他端的Actor,拥有这个控制权
这个三个属性是UE设计Actor时就为Actor设计好的固有属性,可以用于判断一个Actor所在位置,因为UE的服务器代码和客户端代码是一体的,所以Actor设计这个属性是十分必要的。
我们可以用一个示例来具体观摩一下,我们将项目继续迭代,现在我们在角色的头顶添加一个TextRender,然后把GetLocalRole的控制权名称设置到TextRender上。