简单的学习了下Unity的动画系统,做个总结。
1.模型的导入
在Mecanim动画系统中,我们一般是在3DMax,Maya等建模软件中做好模型动画之后导出FBX模型,然后才将FBX模型导入到Unity中。
注意:一般不要将主模型直接复制到工程项目中,因为可能会导致丢失材质,我们要将主模型导入后再将其他的一些动画贴图等复制进去即可,因为在导入时已经自动识别生成了相应的属性,如有丢失那也只能自己再进行设置了。
Model:用来设置模型的外观
Rig:用来配置动画导入方式
Animations:模型所带的动画
Rig-->AnimationType:
Legacy:旧动画系统
Generic:一般动画系统
Humanoid:人类动画系统
-->Avatar Definition:用来定义骨骼
导入模型后的先必须查看骨骼是否对应配置合适,模型大小是否得当,因为不同的建模软件,设计师设计出来的东西比例尺寸,模型骨骼不一样,Unity自动配置难免会出现不对应的情况。
avator属性面板中绿色代表必须绑定的关节,虚线代表非必须
检查骨骼主要是查看人类动画骨骼中的主要关节点是否对应合适:
主要看骨骼模型和关节点中的位置是否一一对应合适,一般比较复杂的骨骼模型用自动适配的话会出错,如图所示骨骼对应上了的会变成绿色否则是灰色,关键的骨骼关节点必须的配置好。然后检查Muscles中,模型各种弯曲扭动是否正常,均正常那么模型导入成功。
2.动画的处理
第一项的Start和End可以调整当前动画起始帧数,可用于切割动画。
Loop是循环播放的设置
Root Transfrom是设置动画是否对旋转,Y轴,XZ轴等的影响,勾选则代表不受影响。
右边的图标有红黄绿
红代表当前选定动画收尾不一致(坐标,位置,动作等等各项是各项的标准)
黄代表是默认状态
绿色代表是起始状态一致
切割动画的时候loop time 保证为绿色,才不会跳跃
另外如果动画不是在主模型上的动画,只需指定骨骼source即可:
3.动画状态机
这个是动画系统里面非常重要的一块,因为你的各种动画的逻辑跳转设置都将在这里面进行设置。
如图所示就是一个状态机制,第一个拖进去的是黄色的代表默认状态,绿色的开始,白线之间是状态之间的跳转关系。
Parameters设置转化条件(分别有Int,float,bool,Trriger四种参数条件)
右键创建路径。Greater是大于,less是小于,为临界条件的判断。
转化路径都是单向的。
在Unity5中,Has Exit Time有存在时间,表示动画必须播放完毕后才跳转到下一个动画,去掉勾选可以直接进行跳转。
conditions中是对于状态跳转条件的设置。
注意:我们一般是用Any State跳转到死亡状态,所以这个情况下还需要在setting中去掉可以跳转到自身状态的勾选。否者Any State包含death,存在Death->Death,使用bool变量作为参数控制条件时会一直重复播放死亡动画。
状态机没设置好条件,就会影响移动,所以动画系统中最重要的是将状态之间的切换设置清楚。
4.动画的重定向
如果骨骼差不多,可以直接套用已经拥有的动画状态机,指定Controller即可,直接使用现有的动画无需另做动画。