触发事件并切换可视性
在以下步骤中,我们将使用 Matinee 事件(Matinee Events) 和 可视性(Visibility) 轨迹创建在倒计时结束后爆炸的岩石和破碎效果。
创建项目
在这部分中我们先设置项目。
从 Unreal Project Browser 窗口中创建一个 New Project,然后使用 Blueprint Third Person 模板。
启用 Include starter content 选项。
为项目命名。
上述步骤设置完成后,点击 Create Project 创建新项目。
添加 Matinee Actor 和道具
在这步中,我们将添加用于此场景的 Matinee Actor 和资源。
在 工具栏 菜单中选择 Matinee 并点击 Add Matinee 按钮。
如出现 Matinee 撤销警告提示,点击 继续 按钮。
Matinee Editor 窗口将打开。
点击查看全图。
最小化 Matinee,在 Content Browser 的 Game/Props 文件夹中,右键单击 SM_Rock 并选择 Create Destructible Mesh。
Destructible Mesh 窗口将打开,点击工具栏中的 Fracture Mesh 按钮。
在 Destructible Settings 中,打开 Fracture Effects 和 0,然后在 Particle System 下点击下拉菜单选择 P_Explosion。
在相同部分点击 Sound 下拉菜单并选择 Explosion01 资源。
从工具栏点击 Save 按钮然后关闭窗口。
在 Content Browser 中,将 SM_Rock_DM 拖入关卡。
在 Content Browser 的 Game/Particles 文件夹中,将 P_Fire 效果拖放进关卡里的岩石中。
在 P_Fire 的 Details 面板中,向下滚动,找到 Activation 部分并 取消勾选 Auto Activate。
此操作将使资源处于关卡内但不会启动,直到我们通过 Matinee 发出指令。
选择 TextRenderActor 文本并将其移至下图所示的小方块处(按 E 键进入旋转模式使其朝前)。
在 TextRenderActor Details 面板中的 Text 部分下,将文本框中的文本替换为 3。
它将作为引发爆炸的倒数计时器。
在 Details 面板中,记录 Transform 下的文本 Location 数值,稍后将会用到。
在关卡视口中选中文本,按下 Control+W 复制 Text Render Actor。
在新 Text Render Actor 的 Details 面板中,将 Location 数值设为和其他的 Text Render Actor 相同,将 Text 设为 2。
重复以上两个步骤 创建另一个 Text Render Actor。在和其他相同的位置进行设置,将文本设为 1。
为 Details 面板中 Rendering 下每个 Text Render Actors 勾选 Actor Hidden In Game。
我们将通过 Matinee 控制 Actors 的可视性以及其默认隐藏的属性。
在 World Outliner 或视口中 选择 Matinee,然后在 Details 面板中选择 Open Matinee,打开后将其最小化。
选择 视口中的石块,然后返回 Matinee 的 Tracks 窗口,单击右键 并选择 Add New Empty Group。
在弹出菜单中为新群组命名,在此例中我们将其简单命名为 Rock。
在群组上 单击右键,从快捷菜单中选择 Add New Event Track。
选中事件轨迹,将 时间条 移至 4.00 处,按下 Enter 键添加一个关键帧,然后将事件命名为 Explode。
在 5.00 处的红色结束标记上 单击右键 并选择 Move To Longest Track Endpoint,将序列缩短至 4.00。
最小化 Matinee 并选择在 World Outliner 中设为 3 的 Text Render Actor。
返回 Matinee 的 Tracks 窗口,单击右键 并选择 Add New Empty Group,将群组赋予 Text-3 之类的命名。
在群组上 单击右键 并选择 Add New Visibility Track。
重复以上两步 创建两个新群组(Text-2 和 Text-1),使两者均拥有 可视性 轨迹。
点击 Track-3 的可视性轨迹,将时间条移至 1.00 处并按下 Enter 键,然后从弹出菜单中选择 Show 添加一个关键帧。
将时间条移至 2.00 处并按下 Enter 键,然后从弹出菜单中选择 Hide。
1.00 和 2.00 之间将创建一个条,表明 text 3 将显示 1 秒钟。
重复之前两步展示/隐藏 2.00 至 3.00 的文本 2,以及 3.00 至 4.00 的文本 1,然后关闭 Matinee。
在关卡视口或 World Outliner 中选择 MatineeActor,然后在主工具栏点击 Blueprints 按钮并选择 Open Level Blueprint。
在图表窗口中 单击右键 并选择 Add MatineeController 选项。
最小化 关卡蓝图 并选择关卡中的石块,然后返回关卡蓝图,在图表中 单击右键 并选择 Add Reference to SM_Rock_DM。
再次最小化关卡蓝图并选择 P_Fire 资源,然后返回关卡蓝图,单击右键 并选择 Add Reference to P_Fire。
左键单击并拖动 SM_Rock_DM 节点的输出引脚,在出现的窗口中输入文本 Apply,然后点击 Apply Radius Damage。
左键单击并拖动 MatineeActor 的 Explode 输出引脚,将其连接至 Apply Radius Damage 节点的输入引脚,然后将各自的 float 值设为 12000。
左键单击并拖动 SM_Rock_DM 节点的输出引脚,在出现的窗口中输入文本 Location,然后选择 Get Actor Location。
左键单击并拖动 Get Actor Location 节点的输出引脚,将其和 Apply Radius Damage 节点的 Hurt Origin 输入引脚连接起来。
左键单击并拖动 P_Fire 节点的输出引脚,在出现的窗口中输入文本 Activate,然后选择 Activate 选项。
左键单击并拖动 MatineeActor 的 Finished 输出引脚,将其和 Activate 节点的输入引脚连接起来。
点击工具栏上的 Compile 按钮并关闭关卡蓝图。
在 World Outliner 中点击 MatineeActor,然后在 Details 面板中点击 Play on Level Load 选项。
在主工具栏中点击 Play 按钮即可在编辑器中进行游戏。
可以在场景中看到倒计时开始,石块爆炸,出现粒子效果和音效,之后石块位置上将出现火焰。