设置门
在下列步骤中我们将创建一扇角色进入/离开触发框时自动开关的门。
创建项目
在这部分中我们先设置项目。
从 Unreal Project Browser 窗口中创建一个 New Project,然后使用 Blueprint Third Person 模板。
启用 Include starter content 选项。
为项目命名。
上述步骤设置完成后,点击 Create Project 创建新项目。
放置门和触发器
在这步中我们放置门并为门放置触发器。
在 Content Browser 中选择 Props 文件夹,找到 SM_DoorFrame 静态网格体。
如未发现 Props 文件夹,请重新查看 创建项目 步骤,确认已启用 Include Starter Content。
在 SM_DoorFrame 静态网格体上 单击左键 将其拖放进 关卡视口。
在 Props 文件夹中找到 SM_Door 静态网格体并拖放进关卡视口。
在 Content Browser 中再次找到 SM_Door 静态网格体,双击 将其在 静态网格体 查看器中打开。
在 Details 面板中,在搜索栏中输入 Collision,将 Collision Complexity 设置设为 Use Complex Collision as Simple。
以上步骤将在门上应用碰撞机制。
在关卡视口中选择 SM_Door,前往 Details 面板。在 Transform 和 Rotation 设置中将 Z 轴值设为 -180。
它将自动调整为 -179.99,为正常现象。
使用 平移(Translation) 控件将门放入门框内。
在 Modes 菜单的 Basic 标签下选择 Box Trigger 并将其拖放进关卡视口中的门框内。
在 Details 面板中的 Shape 部分选择 TriggerBox,将 X 轴的 Box Extent 数值改为 140。
注解:触发框 在门框里向里延伸出一部分,使门提前向里打开(在玩家到达之前)。
玩家使用 蓝图 从任意一边进入 触发框,使门向不同方向打开。关于这类实例,请查阅 2.4 - 带触发器的门 中的内容范例。
门和触发器已放置好,下一步我们将添加一个 Matinee Actor 控制开关。
添加 Matinee Actor
在这步中,我们将添加 Matinee Actor 并设置 关键帧(Keyframes) 控制门的开关。
在 工具栏 菜单中选择 Matinee 并点击 Add Matinee 按钮。
在出现的 Matinee 撤销提示上点击 继续 按钮。
Matinee Editor 窗口将打开。
点击查看全图。
在 Tracks 窗口(All 下的空白部分)中 单击右键,然后从快捷菜单中选择 Add New Empty Group。
窗口提示为出现的群组输入 New Group Name 时,为该群组命名(在此例中我们命名为 Door)。
最小化 Matinee 窗口,然后前往 主编辑器 中的 World Outliner 窗口并选择 SM_Door 将其高亮。
返回 Matinee 窗口并在群组(门)上 单击右键 呼出快捷菜单,选择 Actors,然后选择 Add Selected Actors。
此操作将把 SM_Door Actor 添加至 Door 群组。
再次在群组(门)上 单击右键 呼出快捷菜单,然后选择 Add New Movement Track。
运动轨迹(Movement Track) 被添加后,将在时间 0.00 上沿轨迹自动添加新 关键帧(下图 1 所示)。
注解:图中 2 框内包含开始/结束标记(红色三角)、循环部分(绿色三角)和 时间条(Time Bar)(黑色条)。
在 时间条 上 单击左键 将其拖至时间 0.50,然后按下 Enter 键添加一个新的 关键帧。
最小化 Matinee 窗口,在选中 SM_Door 的情况下返回关卡视口,按下 E 键进入 旋转(Rotation) 模式。
左键单击 旋转 控件的 蓝色 弧(控件会发生变化),向右旋转至 -90.0 度。
返回 Matinee 窗,左键单击 红色箭头 结束标记,然后将其移至左边 0.50 的位置。
Matinee 序列设置已完成。在下一步中,我们将把 Matinee 和 触发器 衔接起来,完成操作。
在 工具栏 菜单中选择 Blueprints 并点击 Open Level Blueprint 按钮。
最小化 关卡蓝图(Level Blueprint),然后在 关卡视口 或 World Outliner 中 左键单击 MatineeActor 选中。
打开 关卡蓝图 窗口,在 事件图表(Event Graph) 中 单击右键,在快捷菜单中选择 Add Reference to MatineeActor 选项。
此操作将把 MatineeActor 添加至 关卡蓝图 的 事件图表。
最小化 关卡蓝图(Level Blueprint),然后在 关卡视口 或 World Outliner 中 左键单击 TriggerBox 选中。
打开 关卡蓝图 窗口,在 事件图表 中 单击右键,然后在快捷菜单中的 Add Event for TriggerBox 和 Collision 下方选择 Add OnActorBeginOverlap 选项。
再次在 事件图表 中 单击右键,重复之前步骤(选择 Add OnActorEndOverlap 选项除外)。
在 事件图表 中 左键单击 MatineeActor 节点并 拖动 输出引脚(蓝色圆圈)呼出快捷菜单,然后在搜索框中输入 Play 并选择 Play 选项。
再次 拖动 MatineeActor 节点,在快捷菜单的搜索框中输入 Reverse 并选择 Reverse 选项。
找到 OnActorBeginOverlap 节点,拖动 执行(Execute) 输出引脚并将其和 Play 节点的输入引脚连接起来。
重复上述步骤,把 OnActorEndOverlap 节点的输出引脚和 Reverse 节点的输入引脚连接起来。
在 Level Blueprint's Toolbar 菜单中,点击 Compile 按钮。
蓝图现已完成,触发框 已和 Matinee Actor 衔接起来。
最小化关卡蓝图,然后在主工具栏中点击 Play 按钮即可在编辑器中进行游戏。