Language:
Page Info
Engine Version:
Share

1.4 - 变量复制[RepNotify]

1_4.png

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

通常,需要执行一些逻辑来响应复制变量变化的值。标记为 RepNotify 的变量有一个特殊的函数,在网络权限和远程机器上,每当值发生更改时,都会自动调用该函数。

在本例中,网络权限控制更改标量值,该标量值指示路灯应该通过使用RepNotify变量显示的颜色。当值发生更改时,将调用自动生成的OnRep函数,在本例中,该函数将更新材质参数。

蓝图细分

BP_红灯_变量_RepNotify(BP_Stoplight_Variable_RepNotify) 蓝图事件图(如下图所示)中,您将看到脚本只调用网络权限来处理光源切换逻辑。表示光源状态的 路灯标量(Streetlight Scalar) 变量被特别标记为RepNotify,因此当值发生变化时,客户端和服务器都调用 OnRep_StreetlightScalar 函数。

单击显示全图

然后,OnRep_StreetlightScalar 函数处理更新路灯的视觉效果,以便在所有机器上都能工作。

可以在 复制(Replication) 下拉菜单下,通过变量的 细节(Details) 面板将变量设置为RepNotify。

1_4_RepNotify.png

使用此设置,客户端和服务器在游戏中看到街灯执行相同的序列。