Contents

动画混合

什么是动画混合

游戏动画中常见的功能就是在两个或者多个相似运动之间进行混合

比如

  1. 根据角色的速度来混合行走和奔跑动画
  2. 根据角色的转向来混合向左或向右倾斜的动作

你可以理解是高级版的动画过渡

创建动画混合状态

在Animator Controller窗口 右键->Create State->From New Blend Tree

动画混合的种类

  • 1D混合

    用一个简单参数控制动画的混合,之所以叫1D是因为一个参数可以看作是1维线性的

  • 2D混合

    可以简单理解为是用两个参数控制动画的混合,之所以叫2D是因为有两个参数 可以看作是2维平面xy轴的感觉

2D混合的种类

  • 2D Simple Directional

    2D简单定向模式 运动表示不同方向时使用 比如前后左右走

  • 2D Freeform Directional

    2D自由形式定向模式 同上 运动表示不同方向时使用 但是可以在同一方向上有多个运动 比如向前跑和走

  • 2D Freeform Cartesian

    2D自由形式笛卡尔坐标模式 运动不表示不同方向时使用 比如向前走不拐弯 向前跑不拐弯 向前走右转 向前跑右转

  • Direct

    直接模式 自由控制每个节点权重,一般做表情动作等

1D混合

1D混合就是通过一个参数来混合子运动

/usr/uploads/2024/07/image-20240701151043553.png

  • Parameter 参数,用于控制混合的参数,在参数列表中的参数

  • 蓝色图像 可以在这里控制n个动画的阈值

  • Motion 关联的动画列表,可以用鼠标改变顺序

  • Threshold 对应动作的临界阈值 当等于这个值时动作权重最大(完全播放该动作) 这个值可以完全自由控制,数值范围不定

  • /usr/uploads/2024/07/image-20240701151807660.png控制动作的播放速度

  • /usr/uploads/2024/07/image-20240701151817501.png是否镜像动作

  • Automate Thresholds 是否自动设置阈值,它会在取值范围内平均分 一般可以取消勾选我们手动控制更准确

  • Compute Thresholds 计算阈值的方式

    /usr/uploads/2024/07/image-20240701151833488.png

    会从动画剪辑的根运动中获去数据 Speed:速度 Velocity X、Y、Z:xyz上的分速度 Angular Speed(Rad 、Deg):角度或者弧度表示的角速度

    举例: 比如你的动画剪辑行走动画时Speed速度是1.5个单位每秒 慢跑是2.3个单位每秒,快跑是4个单位每秒,阈值就会根据这些值来进行设置进行混合

  • Adjust Time Scale

    调整时间刻度

    /usr/uploads/2024/07/image-20240701151943230.png

    • Homogeneous Speed:均匀速度
    • Reset Time Scale:重置时间刻度