2.1 - 网络关联性(第一部分-根本未被复制)

2_1.png

为能同时从 服务器客户端 进行查看,请在 Play (运行)的下拉框中,设置 Number of Clients (客户端数量)区域为2。

概述

为能通过蓝图创建网络连接正确的游戏,重要的一点是同时了解 Network Relevancy (网络关联性)的概念。 简单来说,让客户端的机器总是接受每个Actor的网络数据是不合理的。 从网络角度来说,在大地图一端的玩家不必了解在地图另一端发生的每件事。 这样的话,我们可以说在给定时间内,只有一部分Actors与玩家"相关"。 相关的Actors指的就是那些玩家可以看到,可以互动或位于玩家附近的Actors。 从最优化角度来说,玩家仅仅接受相关Actors的完整网络更新。

最优化的副作用之一就是您不得不考虑如何处理当Actor开始为不相关然后成为相关时的情况(一般是由于玩家移动到附近造成的)。 这和处理玩家加入存在的进行中的游戏的情况非常类似。

本例中,以及 Network Relevancy (网络关联性)示例的其它部分,在考虑关联性的前提下,将导致开箱操作的再生。

蓝图详细信息

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

点击查看放大图片

OnChestTouched 函数随后执行两个额外函数: 一个函数用来开箱子,另一个函数用来播放与开箱子相绑定的特效。

点击查看放大图片

由于示例不会尝试处理复制或关联性,因此仅能在服务器侧看到开箱。