1.3 - 变量复制

概述网络功能示例关卡,示例1.3:变量复制。

Windows
MacOS
Linux
On this page

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

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

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback