Language:
Page Info
Engine Version:
Share

2.1 - 网络相关性[第1部分 - 完全不复制]

2_1.png

为了能够从 服务器客户端 两个视角进行查看,请在 运行(Play) 下拉菜单中将 客户端数量(Number of Clients) 字段设置为2。

要通过蓝图创建联网方式正确的游戏进程,理解 网络相关性 的概念也很重要。 简单来说,始终让客户端计算机接收每个Actor的网络数据通常没有意义。位于大型地图一端的玩家不需要通过网络知道地图的另一端发生的一切。 在这种情况下,我们认为在给定时间只有部分Actor与玩家“相关”。相关Actor通常是玩家可以看到、可与之交互或位于玩家附近的Actor。作为一种优化方法,玩家仅接收相关Actor的所有网络更新。

这种优化方法的一个副作用是,你还必须考虑如何处理Actor本来不相关但后来变得相关(通常是因为玩家靠近Actor)这种情况。这与处理加入正在进行的游戏的玩家时面临的问题非常相似。

在本示例以及剩余的 网络相关性 示例中,我们将重现将相关性纳入考虑范围之后的宝箱打开行为。

蓝图详细介绍

BP_Relevancy_Replication_None 蓝图的事件图表中,你可以看到当权限接收到有人与触发器重叠的信号时,OnChestTouched 函数被调用而且仅由 DoOnce 节点执行一次。

单击查看大图

然后 OnChestTouched 函数将执行两个附加函数:一个用于打开宝箱,另一个用于播放与宝箱打开事件绑定的效果。

单击查看大图

由于示例未尝试处理复制或相关性,只有服务器能够看到宝箱打开。