Choose your operating system:
Windows
macOS
Linux
关卡流送
从 Sun Temple 项目中的主关卡开始。此关卡已被拆分为室内空间和面朝大海、拥有柱子的末端天井。在下方的线框图中,青色线框为固定的室内关卡,黄色线框为将被流入的天井。天空和海洋处于固定关卡中,主庙宇场景中有数个窗口,可看到天空和室外场景。
庙宇室内场景的走廊中有一个弯拐,遮挡了天井区域。
我们需要在此处开始流入天井。玩家转过弯拐靠近天井时,将加载并显示流送关卡。
设置拥有两个关卡, SunTemple_Persistent 和 SunTemple_Streaming 。 玩家出生点 位于 SunTemple_Persistent 中,游戏中的玩家由 角色 表示。
-
在 Content Browser 中打开 SunTemple_Persistent 。
-
将 玩家出生点 移至庙宇开端的位置。
-
点击 Windows ,然后选择 Levels 。
-
点击 Levels 下拉菜单,然后选择 Add Existing... 新增一个关卡分段。
-
选择 SunTemple_Streaming 加入 Open Level 对话,然后点击 Open 。
-
右键点击 Persistent Level ,从下拉菜单中选择 Make Current 。
使用蓝图流入关卡
-
打开 Content Browser ,新建一个 蓝图类 。此类将以 Actor 为基础。
-
将新建的 蓝图类 命名为"LevelStreamer",然后保存。
-
在 蓝图编辑器 中打开 LevelStreamer 。
在此情况下,需要在 角色 重叠方块组件时立即流入第二个关卡。
-
使用 Components 标签中的 Add Component 按钮添加一个 Box Collision 组件。
-
打开蓝图的 事件图表 。选择 Components 标签中的 Box 组件,然后在图表中 单击右键 呼出快捷菜单。
-
输入"begin overlap",然后选择 On Component Begin Overlap 添加事件。
-
点击并从 Other Actor 引脚连出引线,然后在快捷菜单的搜索中输入"="。选择 Equal (Object) 条目添加节点。
-
点击 == 节点的第二个 Object 引脚并连出引线,然后在快捷菜单的搜索中输入"character"。选择 Get Player Character 条目添加节点。
-
按住 B 键然后在图表中点击添加一个 Branch 节点,然后将 == 节点的布尔引脚连接到 Branch 节点的输入。
-
将 OnComponentBeginOverlap 节点的执行输出引脚和 Branch 节点的执行输入引脚相连。
-
在图表中 单击右键 ,然后输入"level"在快捷菜单中进行搜索。从菜单中选择 Load Stream Level 。
-
右键单击 Level Name 引脚并将其提升为变量,将变量命名为"LevelToStream",在 Details 面板中将其设为 Editable 。
-
在 Load Stream Level 节点上将 Make Visible After Load 和 Should Block on Load 勾选为 true。
在此例中,使用此蓝图的所有关卡均拥有相同的默认加载行为,但也可将它们设为 可编辑 变量。
-
将 Branch 节点的 True 执行输出引脚和 Load Stream Level 节点的输出执行引脚连接起来。
-
将 LevelStreamer 蓝图放入关卡,调整其放置和大小,直到它将固定关卡中 角色 进入即开始流送的部分,以及流送关卡所在的整个可行走体积域包含在内。
-
将 SunTemple_Streaming 设为 流送关卡(Level to Stream) 。
-
使用 Play In Editor 测试流送关卡。
使用蓝图卸载关卡
要实现 角色 离开 方块 组件时卸载关卡,图表的逻辑非常相似,但最后是以一个 Unload Stream Level 节点结束。