您的位置:首页 > 其它

Mecanim动画系统学习笔记

2016-02-23 19:39 316 查看
简单的学习了下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即可,直接使用现有的动画无需另做动画。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: