一. Actor Replicated 演员同步
Replicated 是单向的 ,Actor Replicated表示客户端单向同步服务端的actor。例子:
蓝图:
actor 下勾选 replicated (需要actor类型)
c++:
breplicated 设为true
测试:
关卡蓝图中spawn出刚刚创建的actor(使用 has authority 节点仅仅在服务端生成)
设置 number of player 为1以上, 使用new editor window 跑关卡
可以看到客户端也同步到了这个actor。
如果没勾选replicated 或者c++没设置的话:
二. Property Replicated 属性同步
蓝图:
新建一个变量比如这个actor的生命值, 勾选replication
c++:
需要使用到反射,加上replicated关键字
override 方法 GetLifetimeReplicatedProps,DOREPLIFETIME宏添加 要replicated的变量
测试:
在测试actor中, 仅在服务端把生命值设为400.
关卡蓝图同样spawn ,
在要被spawn的actor里判断自己所在的是客户端还是服务端,分别打印,结果:
客户端的值也同步为400。
如果没有 replicated 生命值:
去掉关键字
注释掉重写的方法。
结果: