Choose your operating system:
Windows
macOS
Linux
为了能够从 服务器 和 客户端 两个视角进行查看,请在 运行(Play) 下拉菜单中将 客户端数量(Number of Clients) 字段设置为2。
要通过蓝图正确创建联网的游戏进程,理解 网络相关性(Network Relevancy) 的概念也很重要。 简单来说,始终让客户端计算机接收每个Actor的网络数据通常没有意义。位于大型地图一端的玩家不需要通过网络知道地图的另一端所发生的一切。 在这种情况下,我们认为在给定时间只有部分Actor与玩家"相关"。与玩家相关的Actor通常是玩家可以看到、交互或位于玩家附近的Actor。有一种优化方法是玩家仅接收相关Actor的所有网络更新。
这种优化方法的一个副作用是,你还必须考虑如何处理Actor本来不相关但后来变得相关(通常是因为玩家向Actor靠近)这种情况。类似的情况还有处理玩家加入正在进行中的游戏时所面临的问题。
在本示例以及剩余的 网络相关性 示例中,我们将考虑到相关性,并重现打开宝箱行为。
蓝图详细介绍
在 BP_Relevancy_Replication_None 蓝图的事件图表中,你可以看到当权限接收到有人与触发器重叠的信号时, OnChestTouched 函数被调用而且仅由 DoOnce 节点执行一次。
点击查看大图
然后 OnChestTouched 函数将执行两个附加函数:一个用于打开宝箱,另一个用于播放与宝箱打开事件绑定的效果。
点击查看大图
由于示例没有尝试处理复制或相关性,因此只有服务器能够看到宝箱打开。