Choose your operating system:
Windows
macOS
Linux
本页面的内容
为了同时查看 服务器(Server) 和 客户端(Client) 视角,在 运行(Play) 下拉菜单中,将 客户端数量(Number of Clients) 字段设置为2。
通常需要执行一些逻辑来响应复制变量变化的值。标记为 复制通知(RepNotify) 的变量有一个特殊的函数。在网络权限和远程机器上,每当值发生更改时,都会自动调用该函数。
在本示例中,网络权限控制更改标量值,该标量值显示使用RepNotify变量的路灯颜色。当值发生更改时,将调用自动生成的OnRep函数。在本示例中,该函数将更新材质参数。
蓝图详细介绍
在 BP_红灯_变量_复制通知(BP_Stoplight_Variable_RepNotify) 蓝图的事件图表(如下图所示)中,你可以看到脚本只调用网络权限来处理光源切换逻辑。表示光源状态的 路灯标量(Streetlight Scalar) 变量被特别标记为RepNotify,因此当值发生变化时,客户端和服务器都调用 OnRep_StreetlightScalar 函数。
点击查看大图
然后,OnRep_StreetlightScalar 函数处理并更新路灯的视觉效果,以便在所有机器上都能工作。
可以在 复制(Replication) 下拉菜单下,在变量的 细节(Details) 面板上将变量设置为RepNotify。
使用此设置,客户端和服务器在游戏中可以看到街灯执行相同的序列。