新建一个第三人称 C++ 项目
在播放设置中,将 Number of Players 改为2,并将 Net Mode 改为Play As Listen Server。
播放游戏,可以发现角色默认开启了同步。
停止播放,选中场景中的某个物体。
在 Details 面板选择新建蓝图。
选择 Harvest Components,并选择继承 Actor。
开启 Replicate Movement 和 Replicates,然后点击编译
运行游戏,就可以发现刚刚的物体可以进行网络同步了。
更多信息可见官方文档:https://docs.unrealengine.com/5.2/zh-CN/networking-overview-for-unreal-engine/
或这篇深入原理的文章:https://zhuanlan.zhihu.com/p/114341957
最后再提一嘴,负责网络复制 Actor 位置的是 Actor 的字段:
/** Used for replication of our RootComponent's position and velocity */
UPROPERTY(EditDefaultsOnly, ReplicatedUsing=OnRep_ReplicatedMovement, Category=Replication, AdvancedDisplay)
struct FRepMovement ReplicatedMovement;