生成角色动画

在创建过场动画序列时,您有时可能希望让一个角色在场景中四处移动,或演出某些类型的动画。 在 Sequencer 中要做到这一点,可以将骨骼网格 Actor 添加到关卡序列,然后添加一条动画子轨道,并指定您希望该 Actor 演出的动画。 重复此过程,为 Actor 添加不同类型的演出动画,就能让您的角色在过场动画序列中栩栩如生!

在本指南中我们将创建一个小场景,通过应用不同动画让其中的角色跳上跳下。

步骤

在本操作指南中,我们使用 Blueprint Third Person Template 项目,并 启用了起步内容

  1. 在项目打开的情况下,在关卡中选择 ThirdPersonCharacter,然后按 Delete 删除它。

    CharacterAnim_01.png

    这是您在运行此模板附带的游戏时使用的 角色蓝图,我们并不需要它。

  2. 内容浏览器 中的 Content/Mannequin/Character/Mesh 下,将 SK_Mannequin 资产拖动到关卡视口中。

    CharacterAnim_02.png

  3. 工具栏 中单击 过场动画(Cinematics)下拉选项,再选择 添加关卡序列(Add Level Sequence)

    CharacterAnim_03.png

    当系统提示时,为新的关卡序列选择保存名称和保存位置。

  4. 在关卡中选择 SK_Mannequin

  5. Sequencer 窗口中,单击 添加(Add)按钮并选择 添加 Actor 到 Sequencer(Add Actor To Sequencer),然后选择 添加 SK_Mannequin(Add SK_Mannequin)

    CharacterAnim_04.png

    这会将一条用于 SK_Mannequin 的 轨道 添加到 Sequencer,然后我们可以用它操纵场景中的 Actor。

    CharacterAnim_04b.png

  6. 动画(Animation)子轨道上单击 + 调出快捷菜单,然后选择 ThirdPersonIdle

    CharacterAnim_05.png

    选中 Actor 后,它会摆出闲散的姿态,动画将添加到动画轨道。

    CharacterAnim_05b.png

  7. 选择 动画(Animation)轨道,然后 左键单击 时间轴标记将它拖动到闲散动画的结束处,按 Enter

    CharacterAnim_06.png

    这将会在序列中的该时间点添加一个新的 关键帧,还会出现一个快捷菜单,您可在其中选择其他动画。

  8. 添加 ThirdPersonJump_Start 动画。

    CharacterAnim_07.png

    在我们当前的设置下,在播放闲散动画后会继续播放开始跳跃动画。您可以将时间轴标记沿着时间轴前后拖动或按视口中的 播放(Play)按钮来播放我们当前的场景,预览这段动画。

  9. 在跳跃开始动画结束时(选中动画轨道的情况下),按 Enter 并添加 ThirdPersonJump_End

    CharacterAnim_08.png

  10. 在跳跃结束动画结束时(选中动画轨道的情况下),按 Enter 并添加 ThirdPersonIdle 动画。

    CharacterAnim_09.png

最终结果

当您在视口中单击 播放(Play)按钮时,将看到角色跳上跳下。

我们在上面看到了过场动画序列在编辑器中显示的效果。如果我们现在运行游戏,将不会看到任何内容,因为我们还没有向关卡序列本身发出开始播放的命令。 与 Matinee Actor 类似,你可以在关卡中选择关卡序列,然后在 细节(Details)面板中选中 自动播放(Auto Play)复选框,使序列在加载关卡时播放。

CharacterAnim_10.png

在视频中,您也可以看到在 Sequencer 中是如何处理播放的。只有包含在 片段边界 内的内容(绿色和红色标记之间)才会播放。 您可以拖动这些标记来扩大/缩小序列的边界,或者通过 Sequencer 选项,启用 使播放范围保持在片段边界中(Keep Playback Range In Section Bounds)选项(如下图所示)来确保播放范围包括所有内容。

CharacterAnim_11.png