Language:
Page Info
Engine Version:
Share

1.3 - 变量复制

1_3.png

为了同时查看 服务器(Server)客户端(Client) 视角,在 运行(Play) 下拉菜单中,将 客户端数量(Number of Clients) 字段设置为2。

对于游戏进程重要的变量应该**仅**在网络权限(服务器)上进行修改,然后根据需要将其复制到远程机器(客户端)上。

在本例中,ghost的健康状态是在一个专用于网络权限的定时器上修改的。在非复制的ghost中,远程机器永远不会收到更新的健康状态值。在复制的ghost中,它们会在服务器更改健康状态时收到更新。

蓝图细分

BP_Ghost_变量_复制_无(BP_Ghost_Variable_Replication_None) 蓝图事件图(如下图所示)中,您将看到 Initialize HealthUpdate Health 的脚本调用(每3秒通过定时器调用一次)只在服务器上发生。

单击显示全图

另外,每过一秒,就会显示ghost的健康状态文本,以验证变量的值。但是,对于此蓝图,健康状态(Health) 的变量没有设置为复制,因此值将始终保持不变。

在启用 BP_Ghost_变量_复制_启用(BP_Ghost_Variable_Replication_Enabled) 事件图(如下图所示)中,您将看到与上面相同的设置,但是 健康状态(Health) 变量设置为复制。

单击显示全图

通过启用变量的 细节(Details) 面板中的复选框,可以允许对 健康状态(Health) 的变量执行 复制(Replication),如下所示。

1_3_Rep_Variables.png

将变量设置为复制后,此蓝图将收到服务器执行的变量更新,如下面的游戏进程示例所示。