Choose your operating system:
Windows
macOS
Linux
在下列步骤中,我们将创建一扇角色进入/离开触发框时自动开关的门。
创建项目
在这部分中,我们将设置项目。
在 虚幻项目浏览器(Unreal Project Browser) 窗口中创建一个 新项目(New Project),然后使用 蓝图第三人称(Blueprint Third Person) 模板。
启用 包括初学者内容包(Include starter content) 选项。
命名项目。
上述步骤完成后点击 创建项目(Create Project) 新建项目。
放置门和触发器
在这步中我们将放置门并添加门的触发器。
在 内容浏览器(Content Browser) 中选择 道具(Props) 文件夹,找到 SM_DoorFrame 静态网格体。
如未找到 道具(Props) 文件夹,请查看 创建项目 步骤,并确认已启用 包括初学者内容包。
左键点击 SM_DoorFrame 静态网格体,将其拖入 关卡视口。
同样,在 道具(Props) 文件夹中找到 SM_Door 静态网格体,将其拖入 关卡视口。
在"内容浏览器(Content Browser)中再次找到SM_Door静态网格体,在 静态网格体 查看器中将其打开。
在 细节 面板的搜索栏中输入 碰撞Collision(),将 碰撞复杂度(Collision Complexity) 设置设为 将复杂碰撞用作简单(Use Complex Collision as Simple)。
以上步骤将在门上应用碰撞机制。
在关卡视口中选择 SM_Door,然后前往细节面板。在 变换(Transform) 和 旋转(Rotation) 设置下,将 Z 值设为 -180。
它将自动调整为 -179.99,为正常现象。
使用 平移(Translation) 控件将门放入门框内。
在 模式(Modes) 菜单的 基础(Basic) 标签下找到 盒体触发器(Box Trigger) 并将其拖放进门框内的关卡视口中。
在细节面板中的 形状(Shape) 部分选择 TriggerBox,将 盒体范围(Box Extent) 的 X 值改为 140。
注意:触发框 将延伸到门框内部,使门提前向里打开(在玩家到达之前)。
基于玩家使用 蓝图 进入 **触发框**的位置,门会向不同方向打开。浏览2.4 - 带触发器的门的内容范例即可查看该范例。
门和触发器已放置好,下一步我们将添加 Matinee Actor 来控制其开关。
添加Matinee Actor
在这步中我们将添加 Matinee Actor并设置 关键帧 来控制门的开关。
在 工具栏(Toolbar) 菜单中选择 Matinee 并点击 添加Matinee(Add Matinee) 按钮。
将出现Matinee撤销警告消息,点击 继续 按钮。
Matinee编辑器(Matinee Editor) 窗口将打开。
点击查看全图。
在 轨迹(Tracks) 窗口(全部 下的空白部分)中 点击右键,然后在快捷菜单中选择 添加新空白组(Add New Empty Group)。
窗口将要求使用者在出现的组上输入 新组名 来为该组命名(在此例中我们命名为 Door)。
最小化Matinee窗口,然后前往 主编辑器(Main Editor) 中的 世界大纲试图(World Outliner) 窗口,选择 SM_Door 将其高亮显示。
返回Matinee窗口并 右键点击 组(门)来呼出快捷菜单,然后选择 Actor,接着选择 添加选定Actor(Add Selected Actors)。
此操作将把 SM_Door Actor添加至 Door 组。
再次 右键点击 组(门)呼出快捷菜单,然后选择 添加新移动轨迹(Add New Movement Track)。
添加 运动轨迹(Movement Track) 后,将沿轨迹添加时间为 0.00 的新 关键帧(下图 1 所示)。
注意:图中2号框内包含开始/结束标记(红色三角)、循环分段(绿色三角)和 时间条(黑色条)。
左键点击 时间条 并将其拖至时间 0.50,然后按下 回车 键添加一个新的 关键帧。
最小化Matinee窗口,选中 SM_Door 后返回"关卡视口",按下 E 键进入 旋转 模式。
左键点击 旋转 控件(控件会改变)的 蓝色 弧,将其向右旋转至 -90.0 度。
返回Matinee窗,左键点击 结束标记(红色箭头),然后将其向左移动到 0.50。
Matinee序列已设置完毕。在下一步中我们将把Matinee和 触发器 衔接起来,完成操作。
将Matinee和TriggerBox衔接起来
在这步中我们将把 Matinee 和 TriggerBox 衔接起来,以便角色进入/离开触发器时门会自动打开/关闭。
在 工具栏(Toolbar) 菜单中选择 蓝图 并点击 打开关卡蓝图(Open Level Blueprint) 按钮。
最小化 关卡蓝图,然后在 关卡视口(Level Viewport) 或 世界大纲视图(World Outliner) 中 左键点击 MatineeActor 将其选中。
打开 关卡蓝图(Level Blueprint) 窗口,在 事件图表(Event Graph) 中 点击右键,在快捷菜单中选择 将引用添加到MatineeActor(Add Reference to MatineeActor) 选项。
此操作将把 MatineeActor 添加至 关卡蓝图(Level Blueprint) 的 事件图表(Event Graph)。
最小化 关卡蓝图,然后在 关卡视口(Level Viewport) 或 世界大纲视图(World Outliner) 中 左键点击 TriggerBox 将其选中。
打开 关卡蓝图(Level Blueprint) 窗口,在 事件图表(Event Graph) 中 点击右键,然后在快捷菜单中的 添加TriggerBox事件(Add Event for TriggerBox) 和 碰撞(Collision) 下选择 添加OnActorBeginOverlap(Add OnActorBeginOverlap) 选项。
在 事件图表(Event Graph) 中再次 点击右键,重复之前步骤,但最后变为选择 添加OnActorEndOverlap(Add OnActorEndOverlap) 选项。
在 事件图表(Event Graph) 中 左键点击 MatineeActor 节点并从其中 连出 输出引脚(蓝色圆圈)来呼出快捷菜单,然后在搜索框中输入 Play 并选择 运行(Play) 选项。
再次 连出 MatineeActor 节点,在快捷菜单的搜索框中输入 反向(Reverse) 并选择 反向运行(Reverse) 选项。
找到 OnActorBeginOverlap 节点,连出 执行 输出引脚并将其和 Play 节点的输入引脚连接。
重复上述步骤,将 OnActorEndOverlap 节点的输出引脚和 Reverse 节点的输入引脚连接。
在 关卡蓝图工具栏(Level Blueprint's Toolbar) 菜单中,点击 编译(Compile) 按钮。
蓝图现已完成,TriggerBox 已与Matinee Actor衔接。
最小化关卡蓝图,然后在主工具栏中点击 运行(Play) 按钮即可在编辑器中进行运行。