混合动画和属性

演示如何将动画应用到序列器中的骨架网格体actor以及混合动画和混合属性值。

Choose your operating system:

Windows

macOS

Linux

在创建动画序列时,有时可能需要让场景中的某个角色移动或执行某种动画。 在 序列器(Sequencer) 中,这是通过将骨架网格Actor添加到关卡序列,然后添加动画子轨迹并指定希望Actor执行的动画来完成的。 序列器使您能够通过将一个属性轨迹拖放到现有属性轨迹,自动对动画(以及属性值)执行交叉渐变和混合操作。 这样做时,将应用自动混合,您可以通过使用缓和属性或定义自己的自定义曲线资源对其进行调优和调整。

在本指南中,我们将创建一个动画示例序列,其中一个角色将在行走中融入跳跃动作,然后再回到行走状态。

AnimationBlending.png

步骤

对于本教程,我们使用的是 已启用初学者内容包(Starter Content Enabled) 蓝图第三人称模板(Blueprint Third Person Template) 项目。

  1. 在项目内部,从主工具栏(Main Toolbar)中,单击 动画(Cinematics) 按钮和 添加关卡序列(Add Level Sequence)

    CharacterAnim_01.png

  2. Content/Mannequin/Character/Mesh 下的 内容浏览器(Content Browser) 中,将 SK_Mannequin 拖动到关卡中。

    CharacterAnim_02.png

  3. 在仍选中 SK_Mannequin 资源的情况下,单击序列器中的 轨迹(Track) 按钮将其添加到您的关卡序列中。

    CharacterAnim_03.png

  4. 点击新的骨架网格体轨迹上的 动画(Animation) 按钮,并分配 ThirdPersonWalk 动画。

    CharacterAnim_04.png

  5. 将时间轴擦除到 30 ,并单击 动画(Animation) 按钮,添加 ThirdPersonJump_Start 动画。

    CharacterAnim_05.png

  6. 单击轨迹窗口中的 ThirdPersonJump_Start 动画并将其拖动到 ThirdPersonWalk 上,回到帧 25

    CharacterAnim_06.png

    在时间轴上拖动动画时,负数表示在时间轴上向后移动了多少帧,而正数表示在时间轴上向前移动了多少帧。

  7. 在帧 39 处添加 ThirdPersonJump_Loop ,然后将其向后拖动到 ThirPersonJump_start ,并在帧 34 处开始交叉渐变。

    CharacterAnim_07.png

  8. 添加 ThirdPersonJump_End 动画,并将其交叉渐变 2 帧。

    CharacterAnim_08.png

  9. 添加 ThirdPersonWalk 并将其交叉渐变 3 帧。

    CharacterAnim_09.png

  10. 在某次交叉渐变开始时,右键单击上三角形图标,以显示 缓和曲线(Easing Curve) 选项。

    CharacterAnim_10.png

  11. 选项(Options) 部分下,选择任意所需的 缓和(Easing) 选项以定义如何执行曲线。

    CharacterAnim_11.png

    或者,您可以将 方法(Method) 更改为 曲线资源(Curve Asset)

    CharacterAnim_12.png

    这样做时, 选项(Option) 部分将使您能够定义您想要使用的自定义 曲线(Curve) 资源。

    CharacterAnim_13.png

  12. 在序列中擦除时间轴以查看混合或单击 预览播放(Preview Play) 按钮。

最终结果

您的序列现在包括一个骨架网格体和平滑地混合起来的多个动画,并可使用缓和选项来优化混合。

按权重值混合

可以使用动画轨迹上的 权重(Weight) 子轨迹执行另一种动画混合方法。

下面,我们有一个权重(Weight)值为 1.0 的动画和另一个权重(Weight)值为 0.0 的动画。

CharacterAnim_14.png

然后,我们向前擦除时间轴,并反转各个动画的权重(Weight)值,这将在两个值之间产生插值,导致动画混合。

CharacterAnim_15.png

混合属性值

混合不限于动画,任何二维/三维变形、矢量、颜色或浮点也可以自动混合。

默认情况下,变形、矢量、颜色和类似的轨迹被设置为 无限(Infinite) ,这意味着属性值在整个序列中是持久存在的。 通过关闭此选项并使用属性 分段(Sections) ,可以将这些分段混合在一起。在下面的示例视频中,我们使用与本指南类似的方法,随着时间的推移在序列器中混合光源的颜色。

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