2.4 - 网络关联性[第四部分-组合方案]

网络特性示例关卡概述,示例2.4: 网络关联性(第四部分-组合方案)。

Windows
MacOS
Linux
On this page

2_4.png

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

示例2.2和2.3都失败了,因为两者都无法处理箱子示例所要完成的两个内容:

  • 在互动时播放瞬间效果。

  • 保留随时间而变化的Actor状态变更。

示例2.4提供了通过组合2.2和2.3中使用的技术的混合方案来有效解决此问题。 Multicast函数处理在此特定时间的客户端相关的瞬间黄金特效播放,同时无论箱盖打开还是关闭都保留复制的布尔值。 如果箱子在初始的开箱过程中对客户端而言无关联性,则客户端将仅仅在箱子与它们关联时看到箱盖打开。

蓝图详细信息

BP_Relevancy_Replication_Combined 蓝图的事件图表中,如同下方的带注释的图,OnChestTouch被覆盖以使用RepNotify变量的组合以及Multicast复制函数。

2_4_Eventgraph.png

对具有两个组件的箱子进行正确显示: 一个组件为瞬间(黄金粒子),而另一个组件为持续状态(箱盖被打开)。 使用Multicast以处理瞬间事件,而RepNotify变量处理持续状态。

下方是在变量 bChestOpened 被更新时调用的OnRep函数。

点击查看放大图片

本示例解决了存在的问题并展示了对Multicast函数和RepNotify变量的正确使用。 这个结果是我们在网络游戏中打开宝箱所期待见到的。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback