网络关联性:根本未被复制
为能同时从 服务器 和 客户端 进行查看,请在 Play (运行)的下拉框中,设置 Number of Clients (客户端数量)区域为2。
概述
为能通过蓝图创建网络连接正确的游戏,重要的一点是同时了解 Network Relevancy (网络关联性)的概念。 简单来说,让客户端的机器总是接受每个Actor的网络数据是不合理的。 从网络角度来说,在大地图一端的玩家不必了解在地图另一端发生的每件事。 这样的话,我们可以说在给定时间内,只有一部分Actors与玩家"相关"。 相关的Actors指的就是那些玩家可以看到,可以互动或位于玩家附近的Actors。 从最优化角度来说,玩家仅仅接受相关Actors的完整网络更新。
最优化的副作用之一就是您不得不考虑如何处理当Actor开始为不相关然后成为相关时的情况(一般是由于玩家移动到附近造成的)。 这和处理玩家加入存在的进行中的游戏的情况非常类似。
本例中,以及 Network Relevancy (网络关联性)示例的其它部分,在考虑关联性的前提下,将导致开箱操作的再生。
蓝图详细信息
在 BP_Relevancy_Replication_None 蓝图的事件图表中,您可以看到在权限侧接收到有人与触发器重叠的信号时, OnChestTouched 函数被调用并仅由 DoOnce 节点执行一次。
点击查看放大图片
OnChestTouched 函数随后执行两个额外函数: 一个函数用来开箱子,另一个函数用来播放与开箱子相绑定的特效。
点击查看放大图片
由于示例不会尝试处理复制或关联性,因此仅能在服务器侧看到开箱。
,