Choose your operating system:
Windows
macOS
Linux
为了同时查看 服务器(Server) 和 客户端(Client) 视角,在 运行(Play) 下拉菜单中,将 客户端数量(Number of Clients) 字段设置为2。
游戏进程中重要的变量应该 仅 在网络权限(服务器)上进行修改,然后根据需要复制到远程机器(客户端)上。
在本示例中,幽灵(ghost)角色的生命值可以在一个专门用于网络权限的定时器上进行修改。在非复制的幽灵角色中,远程机器永远无法收到生命值更新。在复制的幽灵角色中,远程机器会在服务器更改生命值状态时收到更新。
蓝图详细介绍
在 BP_幽灵_变量_复制_无(BP_Ghost_Variable_Replication_None) 蓝图的事件图表(如下图所示)中,你可以看到 初始化生命(Initialize Health) 和 更新生命(Update Health) 的脚本调用(每3秒通过定时器调用一次)只在服务器上发生。
点击查看大图
另外,每过一秒,就会显示幽灵角色的生命文本,以验证变量的值。但是对于这个蓝图,生命(Health) 变量没有设置为复制,因此值将始终保持不变。
在 BP_幽灵_变量_复制_启用(BP_Ghost_Variable_Replication_Enabled) 事件图表(如下图所示)中,你可以看到与上面相同的设置,但是 生命(Health) 变量设置为复制。
点击查看大图
通过启用变量 细节(Details) 面板中的复选框,可以允许对 生命(Health) 变量执行 复制(Replication),如下图所示。
将变量设置为复制后,此蓝图将收到服务器执行的变量更新,如下面的Gameplay示例所示。