4.关卡起始脚本编写

关卡开始时,需要使玩家角色在之前放置的 PlayerStart Actor 的位置出生。需要将玩家角色移动到该位置,并设置正确的朝向。

  1. 在关卡编辑器工具栏中点击 Blueprints 按钮,然后选择 Open Level Blueprint蓝图编辑器中打开当前关卡的脚本。

    level_blueprint.png

  2. 在事件图表中点击右键并在 Add Event 下选择 Event BeginPlay

    begin_play.png

  3. 在事件图表中点击右键,选择 Get Game Mode 获得当前 Game Mode 实例的引用。从 Return Value 引脚连出引线并选择 Cast to BP_OdinGameMode。将 BeginPlay 事件的执行输出与 Cast to BP_OdinGameMode 节点的执行输入连接。

    game_mode.png

  4. As BP Odin Game Mode 引脚连出引线并选择 End Loading Sequence。这会在加载关卡后执行一些必要的清理。

    end_loading.png

  5. As BP Odin Game Mode 输出连出引线,然后选择 Get Main Pawn(在 game 类目下)。这能提供一个角色的引用,用于设置其位置。

    player.png

  6. Main Pawn 引脚连出引线并选择 Teleport(在 Utilities > Transformation 类目下)。将 End Loading Sequence 节点的执行输出与 Teleport 节点的执行输入连接。

    teleport.png

  7. 在关卡编辑器视口中选择之前放置的 Player Start Actor。返回蓝图编辑器,在事件图表中点击右键并选择 Create a Reference to [ActorName]

    player_start.png

  8. 从 Player Start 引用上的输出引脚连出引线,选择 Get ActorLocation。将 Return Value 输出连接到 Teleport 节点的 Dest Location 输入。

    location.png

  9. 从 Player Start 引用上的输出引脚连出引线,选择 Get ActorRotation。将 Return Value 输出连接到 Teleport 节点的 Dest Rotation 输入。

    Copy Node Graph

    rotation.png

    点击此图左上角的图标复制蓝图图表并将其粘贴到项目中。

结果

点击关卡编辑器工具栏中的 Play 后,您便会出生在 Player Start Actor 的位置,面朝机器人行进的方向。

test.png