设置一扇门

利用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) 按钮即可在编辑器中进行运行。

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