Mecanim动画系统学习笔记

简单的学习了下Unity的动画系统,做个总结。

1.模型的导入

在Mecanim动画系统中,我们一般是在3DMax,Maya等建模软件中做好模型动画之后导出FBX模型,然后才将FBX模型导入到Unity中。

注意:一般不要将主模型直接复制到工程项目中,因为可能会导致丢失材质,我们要将主模型导入后再将其他的一些动画贴图等复制进去即可,因为在导入时已经自动识别生成了相应的属性,如有丢失那也只能自己再进行设置了。

Mecanim动画系统学习笔记_第1张图片

Model:用来设置模型的外观

Rig:用来配置动画导入方式

Animations:模型所带的动画

 

Rig-->AnimationType:

Legacy:旧动画系统

Generic:一般动画系统

Humanoid:人类动画系统

-->Avatar Definition:用来定义骨骼


导入模型后的先必须查看骨骼是否对应配置合适,模型大小是否得当,因为不同的建模软件,设计师设计出来的东西比例尺寸,模型骨骼不一样,Unity自动配置难免会出现不对应的情况。


avator属性面板中绿色代表必须绑定的关节,虚线代表非必须


检查骨骼主要是查看人类动画骨骼中的主要关节点是否对应合适:

Mecanim动画系统学习笔记_第2张图片

主要看骨骼模型和关节点中的位置是否一一对应合适,一般比较复杂的骨骼模型用自动适配的话会出错,如图所示骨骼对应上了的会变成绿色否则是灰色,关键的骨骼关节点必须的配置好。然后检查Muscles中,模型各种弯曲扭动是否正常,均正常那么模型导入成功。


2.动画的处理

Mecanim动画系统学习笔记_第3张图片

第一项的Start和End可以调整当前动画起始帧数,可用于切割动画。


Loop是循环播放的设置


Root Transfrom是设置动画是否对旋转,Y轴,XZ轴等的影响,勾选则代表不受影响。


右边的图标有红黄绿

红代表当前选定动画收尾不一致(坐标,位置,动作等等各项是各项的标准)

黄代表是默认状态

绿色代表是起始状态一致


切割动画的时候loop time 保证为绿色,才不会跳跃


另外如果动画不是在主模型上的动画,只需指定骨骼source即可:

Mecanim动画系统学习笔记_第4张图片


3.动画状态机

这个是动画系统里面非常重要的一块,因为你的各种动画的逻辑跳转设置都将在这里面进行设置。

Mecanim动画系统学习笔记_第5张图片

如图所示就是一个状态机制,第一个拖进去的是黄色的代表默认状态,绿色的开始,白线之间是状态之间的跳转关系。

Parameters设置转化条件(分别有Int,float,bool,Trriger四种参数条件)

右键创建路径。Greater是大于,less是小于,为临界条件的判断。

转化路径都是单向的。


Mecanim动画系统学习笔记_第6张图片

在Unity5中,Has Exit Time有存在时间,表示动画必须播放完毕后才跳转到下一个动画,去掉勾选可以直接进行跳转。


conditions中是对于状态跳转条件的设置。


注意:我们一般是用Any State跳转到死亡状态,所以这个情况下还需要在setting中去掉可以跳转到自身状态的勾选。否者Any State包含death,存在Death->Death,使用bool变量作为参数控制条件时会一直重复播放死亡动画。


状态机没设置好条件,就会影响移动,所以动画系统中最重要的是将状态之间的切换设置清楚。


4.动画的重定向

Mecanim动画系统学习笔记_第7张图片

如果骨骼差不多,可以直接套用已经拥有的动画状态机,指定Controller即可,直接使用现有的动画无需另做动画。

你可能感兴趣的:(Unity3D,unity,Mecanim,动画系统)