设置一扇门

利用Matinee设置一扇自动开关的门。

Choose your operating system:

Windows

macOS

Linux

在下列步骤中,我们将创建一扇角色进入/离开触发框时自动开关的门。

创建项目

在这部分中,我们将设置项目。

  1. 在 虚幻项目浏览器(Unreal Project Browser) 窗口中创建一个 新项目(New Project),然后使用 蓝图第三人称(Blueprint Third Person) 模板。

    MatineeHowTo.jpg

  2. 启用 包括初学者内容包(Include starter content) 选项。

  3. 命名项目。

  4. 上述步骤完成后点击 创建项目(Create Project) 新建项目。

放置门和触发器

在这步中我们将放置门并添加门的触发器。

  1. 在 内容浏览器(Content Browser) 中选择 道具(Props) 文件夹,找到 SM_DoorFrame 静态网格体。

    MHT1_DoorFrame.png

    如未找到 道具(Props) 文件夹,请查看 创建项目 步骤,并确认已启用 包括初学者内容包。

  2. 左键点击 SM_DoorFrame 静态网格体,将其拖入 关卡视口。

    MHT_DoorFrameDragIn.jpg

  3. 同样,在 道具(Props) 文件夹中找到 SM_Door 静态网格体,将其拖入 关卡视口。

    MHT_DoorDragIn.jpg

  4. 在"内容浏览器(Content Browser)中再次找到SM_Door静态网格体,在 静态网格体 查看器中将其打开。

  5. 在 细节 面板的搜索栏中输入 碰撞Collision(),将 碰撞复杂度(Collision Complexity) 设置设为 将复杂碰撞用作简单(Use Complex Collision as Simple)。

    MHT_CollisionComplexity.jpg

    以上步骤将在门上应用碰撞机制。

  6. 在关卡视口中选择 SM_Door,然后前往细节面板。在 变换(Transform) 和 旋转(Rotation) 设置下,将 Z 值设为 -180。

    MHT1_RotateDoor.png

    它将自动调整为 -179.99,为正常现象。

  7. 使用 平移(Translation) 控件将门放入门框内。

    MHT1_MoveDoor.png MHT1_MoveDoor2.png

  8. 在 模式(Modes) 菜单的 基础(Basic) 标签下找到 盒体触发器(Box Trigger) 并将其拖放进门框内的关卡视口中。

    MHT_DragInBoxTrigger.jpg

  9. 在细节面板中的 形状(Shape) 部分选择 TriggerBox,将 盒体范围(Box Extent) 的 X 值改为 140。

    MHT1_TriggerBoxSize.png

    注意:触发框 将延伸到门框内部,使门提前向里打开(在玩家到达之前)。

    基于玩家使用 蓝图 进入 **触发框**的位置,门会向不同方向打开。浏览2.4 - 带触发器的门的内容范例即可查看该范例。

  10. 门和触发器已放置好,下一步我们将添加 Matinee Actor 来控制其开关。

添加Matinee Actor

在这步中我们将添加 Matinee Actor并设置 关键帧 来控制门的开关。

  1. 在 工具栏(Toolbar) 菜单中选择 Matinee 并点击 添加Matinee(Add Matinee) 按钮。

    MHT_AddMatinee.jpg

  2. 将出现Matinee撤销警告消息,点击 继续 按钮。

    MHT1_MatineeWarning.png

  3. Matinee编辑器(Matinee Editor) 窗口将打开。

    点击查看全图。

  4. 在 轨迹(Tracks) 窗口(全部 下的空白部分)中 点击右键,然后在快捷菜单中选择 添加新空白组(Add New Empty Group)。

    MHT1_TrackContextMenu.png

  5. 窗口将要求使用者在出现的组上输入 新组名 来为该组命名(在此例中我们命名为 Door)。

  6. 最小化Matinee窗口,然后前往 主编辑器(Main Editor) 中的 世界大纲试图(World Outliner) 窗口,选择 SM_Door 将其高亮显示。

    MHT1_SelectDoor.png

  7. 返回Matinee窗口并 右键点击 组(门)来呼出快捷菜单,然后选择 Actor,接着选择 添加选定Actor(Add Selected Actors)。

    MHT1_AddDoorToGroup.png

    此操作将把 SM_Door Actor添加至 Door 组。

  8. 再次 右键点击 组(门)呼出快捷菜单,然后选择 添加新移动轨迹(Add New Movement Track)。

    MHT1_AddMovementTrack.png

  9. 添加 运动轨迹(Movement Track) 后,将沿轨迹添加时间为 0.00 的新 关键帧(下图 1 所示)。

    MHT1_TrackExplained.png

    注意:图中2号框内包含开始/结束标记(红色三角)、循环分段(绿色三角)和 时间条(黑色条)。

  10. 左键点击 时间条 并将其拖至时间 0.50,然后按下 回车 键添加一个新的 关键帧。

    MHT1_AddKey.png

  11. 最小化Matinee窗口,选中 SM_Door 后返回"关卡视口",按下 E 键进入 旋转 模式。

    MHT1_RotateWidget.png

  12. 左键点击 旋转 控件(控件会改变)的 蓝色 弧,将其向右旋转至 -90.0 度。

    MHT1_DoorOpen.png

  13. 返回Matinee窗,左键点击 结束标记(红色箭头),然后将其向左移动到 0.50。

    MHT1_EndPointMoved.png

  14. Matinee序列已设置完毕。在下一步中我们将把Matinee和 触发器 衔接起来,完成操作。

将Matinee和TriggerBox衔接起来

在这步中我们将把 Matinee 和 TriggerBox 衔接起来,以便角色进入/离开触发器时门会自动打开/关闭。

  1. 在 工具栏(Toolbar) 菜单中选择 蓝图 并点击 打开关卡蓝图(Open Level Blueprint) 按钮。

    MHT_OpenLvlBlueprint.jpg

  2. 最小化 关卡蓝图,然后在 关卡视口(Level Viewport) 或 世界大纲视图(World Outliner) 中 左键点击 MatineeActor 将其选中。

    MHT1_MatineeSceneOutliner.png

  3. 打开 关卡蓝图(Level Blueprint) 窗口,在 事件图表(Event Graph) 中 点击右键,在快捷菜单中选择 将引用添加到MatineeActor(Add Reference to MatineeActor) 选项。

    MHT_MatineeReference.jpg

  4. 此操作将把 MatineeActor 添加至 关卡蓝图(Level Blueprint) 的 事件图表(Event Graph)。

    MHT1_MatineeAddedToBP.png

  5. 最小化 关卡蓝图,然后在 关卡视口(Level Viewport) 或 世界大纲视图(World Outliner) 中 左键点击 TriggerBox 将其选中。

    MHT1_TriggerBoxSceneOutliner.png

  6. 打开 关卡蓝图(Level Blueprint) 窗口,在 事件图表(Event Graph) 中 点击右键,然后在快捷菜单中的 添加TriggerBox事件(Add Event for TriggerBox) 和 碰撞(Collision) 下选择 添加OnActorBeginOverlap(Add OnActorBeginOverlap) 选项。

    MHT1_AddOnBeginOverlap.png

  7. 在 事件图表(Event Graph) 中再次 点击右键,重复之前步骤,但最后变为选择 添加OnActorEndOverlap(Add OnActorEndOverlap) 选项。

    MHT1_AddOnEndOverlap.png

  8. 在 事件图表(Event Graph) 中 左键点击 MatineeActor 节点并从其中 连出 输出引脚(蓝色圆圈)来呼出快捷菜单,然后在搜索框中输入 Play 并选择 运行(Play) 选项。

    MHT1_DragOffPlay.png

  9. 再次 连出 MatineeActor 节点,在快捷菜单的搜索框中输入 反向(Reverse) 并选择 反向运行(Reverse) 选项。

    MHT1_DragOffReverse.png

  10. 找到 OnActorBeginOverlap 节点,连出 执行 输出引脚并将其和 Play 节点的输入引脚连接。

    MHT1_ConnectOverlapToPlay.png

  11. 重复上述步骤,将 OnActorEndOverlap 节点的输出引脚和 Reverse 节点的输入引脚连接。

    MHT1_BlueprintConnected.png

  12. 在 关卡蓝图工具栏(Level Blueprint's Toolbar) 菜单中,点击 编译(Compile) 按钮。

    MHT1_ClickCompile.png

  13. 蓝图现已完成,TriggerBox 已与Matinee Actor衔接。

  14. 最小化关卡蓝图,然后在主工具栏中点击 运行(Play) 按钮即可在编辑器中进行运行。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消