1.4 - 变量复制[RepNotify]

概述网络功能示例关卡,示例1.4:变量复制[RepNotify]。

Windows
MacOS
Linux
On this page

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

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

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