目录

Unity-动画1d混合

目录

Unity-动画1d混合

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

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

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

之前我们学习的动画过渡是处理两个不同类型动作之间切换的过渡效果而动画混合是允许合并多个动画来使动画平滑混合

如何在状态机窗口创建动画混合状态

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

https://i-blog.csdnimg.cn/direct/d420719ddcc74b1b937fb3df8e97b813.png

  • 参数相关

    • Parameter 参数,用于控制混合的参数,在参数列表中的参数
    • 蓝色图像 可以在这里控制n个动画的阈值
    • Motion 关联的动画列表,可以用鼠标改变顺序
    • Threshold 对应动作的临界阈值 当等于这个值时动作权重最大(完全播放该动作) 这个值可以完全自由控制,数值范围不定
    • 控制动作的播放速度
    • 是否镜像动作
    • Automate Thresholds 是否自动设置阈值,它会在取值范围内平均分 一般可以取消勾选我们手动控制更准确
    • Compute Thresholds 计算阈值的方式 会从动画剪辑的根运动中获去数据 Speed:速度 Velocity X、Y、Z:xyz上的分速度 Angular Speed(Rad 、Deg):角度或者弧度表示的角速度 举例: 比如你的动画剪辑行走动画时Speed速度是1.5个单位每秒 慢跑是2.3个单位每秒,快跑是4个单位每秒,阈值就会根据这些值来进行设置进行混合
    • Adjust Time Scale 调整时间刻度 Homogeneous Speed:均匀速度 Reset Time Scale:重置时间刻度

1d动画的使用

我们这里拖入了三个动画,分别是走路,跑步,左倾跑步

https://i-blog.csdnimg.cn/direct/a63aa1a4355844fbada847cda86cd068.png

那我们就可以通过修改Blend的值(0-1)来改变角色运动的状态

https://i-blog.csdnimg.cn/direct/aee75266bcbb40b1a097daac0974adb6.png