Unity (一) Animator:Curves : 曲线运用的两个案例
案例1:
在角色死亡动画中,角色倒地,然而碰撞体并没有进行调整,如果对此角色位置进行射击,还会有碰撞检测,为了避免这种问题,可以运用曲线Curves将角色的碰撞体进行调整
Curves:曲线
在动画的Animations下面
如图:角色死亡动画播放后(播放过程中),碰撞体不变
运用曲线Curves将角色的碰撞体随着死亡动画进行调整:
1、设置好角色的碰撞体,以及计算好倒地后碰撞体需要调整后的值
角色原始碰撞体,高Heright为:2, 中心点Center的高为 1
死亡后变成:Heright=0.5,Center的高为0.25
注:为什么不能只改变碰撞体的高,还要改变中心点的高?:
因为中心点不下降的话,碰撞体会在原来1位置,进行上下回缩:
不改变中心点的话死亡动画播放时将如图:
2、在死亡动画的Curves里定义2个float变量,绘制曲线,
曲线Hight:将身高从2变成0.5,
曲线Center:将中心点从1变成0.25
在Parameters里定义2个跟曲线名字一致的float变量
Hight,
Center
3、给角色添加脚本:
这样播放死亡动画时,碰撞体就可以随着死亡动作降低了
案例2:角色呐喊动画,运用曲线喊出高低不同的声音
1、绘制曲线从1渐变到0
2、定义参数
3、给角色添加AudioSource组件和音乐片段
4、添加脚本:
从动画中将曲线的值拿到 赋给AudioSource.volume
这样AudioSource的音量会随着呐喊动画的曲线呈现1到0的Volume值,