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即可,直接使用现有的动画无需另做动画。
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即可,直接使用现有的动画无需另做动画。
相关文章推荐
- 高斯球和高斯映射
- linux下logrotate 配置和理解
- Java小程序——将浮点数转换成人民币读法
- erlang趣事三
- eclipse中maven的user-setting配置
- Linux系统运行级别
- HDU1093A+B for Input-Output Practice (V)(入门题C,Java两个版本)
- spring实现一个简单的事务管理
- 控制台输入输出
- 张鑫旭:Promise异步编程模式
- Linux下区分物理CPU、逻辑CPU和CPU核数
- 2016年Bus365移动部门的年会节目-三句半
- 217. Contains Duplicate
- bzoj 4195: [Noi2015]程序自动分析 hash+并查集
- UML类图几种关系的总结
- Implement Stack using Queues
- Android之TextureView浅析
- TypeScript 学习笔记
- react-native无法加载静态图片的bug解决方案
- MD5加密实现