Language:
Page Info
Share
此中文页面内容对应的英文页面有后续更新,如需浏览最新文档可切换至英文页面浏览。

使用蓝图加载和卸载关卡

关卡流送

Sun Temple 项目中的主关卡开始。此关卡已被拆分为室内空间和面朝大海、拥有柱子的末端天井。在下方的线框图中,青色线框为固定的室内关卡,黄色线框为将被流入的天井。天空和海洋处于固定关卡中,主庙宇场景中有数个窗口,可看到天空和室外场景。

LevelSplit.png

庙宇室内场景的走廊中有一个弯拐,遮挡了天井区域。

StartLoading.png

我们需要在此处开始流入天井。玩家转过弯拐靠近天井时,将加载并显示流送关卡。

StreamingLevelVisible.png

设置拥有两个关卡,SunTemple_PersistentSunTemple_Streaming玩家出生点 位于 SunTemple_Persistent 中,游戏中的玩家由 角色 表示。

  1. Content Browser 中打开 SunTemple_Persistent

  2. 玩家出生点 移至庙宇开端的位置。

    PlayerStart.png

  3. 点击 Windows,然后选择 Levels

    WindowLevels.png

  4. 点击 Levels 下拉菜单,然后选择 Add Existing... 新增一个关卡分段。

    AddExisting.png

  5. 选择 SunTemple_Streaming 加入 Open Level 对话,然后点击 Open

    SunTempleStreaming_Select.png

  6. 右键点击 Persistent Level,从下拉菜单中选择 Make Current

使用蓝图流入关卡

  1. 打开 Content Browser,新建一个 蓝图类。此类将以 Actor 为基础。

  2. 将新建的 蓝图类 命名为“LevelStreamer”,然后保存。

  3. 蓝图编辑器 中打开 LevelStreamer

在此情况下,需要在 角色 重叠方块组件时立即流入第二个关卡。

  1. 使用 Components 标签中的 Add Component 按钮添加一个 Box Collision 组件。

  2. 打开蓝图的 事件图表。选择 Components 标签中的 Box 组件,然后在图表中 单击右键 呼出快捷菜单。

  3. 输入“begin overlap”,然后选择 On Component Begin Overlap 添加事件。

  4. 点击并从 Other Actor 引脚连出引线,然后在快捷菜单的搜索中输入“=”。选择 Equal (Object) 条目添加节点。

  5. 点击 == 节点的第二个 Object 引脚并连出引线,然后在快捷菜单的搜索中输入“character”。选择 Get Player Character 条目添加节点。

  6. 按住 B 键然后在图表中点击添加一个 Branch 节点,然后将 == 节点的布尔引脚连接到 Branch 节点的输入。

  7. OnComponentBeginOverlap 节点的执行输出引脚和 Branch 节点的执行输入引脚相连。

  8. 在图表中 单击右键,然后输入“level”在快捷菜单中进行搜索。从菜单中选择 Load Stream Level

  9. 右键单击 Level Name 引脚并将其提升为变量,将变量命名为“LevelToStream”,在 Details 面板中将其设为 Editable

    LevelToStreamVar.png

  10. Load Stream Level 节点上将 Make Visible After LoadShould Block on Load 勾选为 true。

    在此例中,使用此蓝图的所有关卡均拥有相同的默认加载行为,但也可将它们设为 可编辑 变量。

  11. Branch 节点的 True 执行输出引脚和 Load Stream Level 节点的输出执行引脚连接起来。

    FinalLoadBP.png

  12. LevelStreamer 蓝图放入关卡,调整其放置和大小,直到它将固定关卡中 角色 进入即开始流送的部分,以及流送关卡所在的整个可行走体积域包含在内。

  13. SunTemple_Streaming 设为 流送关卡(Level to Stream)

  14. 使用 Play In Editor 测试流送关卡。

使用蓝图卸载关卡

要实现 角色 离开 方块 组件时卸载关卡,图表的逻辑非常相似,但最后是以一个 Unload Stream Level 节点结束。

UnloadLevel.png