Mecanim动画系统

  • 关于动画模型的处理
    • 一般动画系统的制作与使用流程
    • 建模注意事项:
    • 模型导出
  • Animator(动画编辑器)
    • Add Behaviour 的简单应用:
  • Animator Controller(动画控制器)
    • HasExitTime

Unity的动画系统由以下几部分组成:Animator(动画编辑器)、Animator Controller(动画控制器)、Animation(动画片段)、Avatar(骨骼模型)
他们之间关系如下图:
Mecanim动画系统_第1张图片

关于动画模型的处理

一般动画系统的制作与使用流程

  1. 在第三方的建模软件中制作好模型,接着导出Unity3D支持的格式,然后导入Unity3D中,检查factor,动画处理,材质处理,映射配置。
  2. 通过状态机(State Mechines)和融合树(Blend Trees)和反向动力学(Inverser Kinematics)等功能对动画剪辑进行设置,最后使用代码控制角色的播放。

建模注意事项:

  1. 注意模型尺寸,一般在1.7~1.8之间
  2. 在三维建模软件中,是角色的最底部与世界坐标的中心点对齐
  3. 尽量把模型制作为T型姿势
  4. 确保骨盆位置上骨骼关节为所有的骨骼的父层级
  5. 确保骨骼结构至少为15个骨骼
    Unity骨骼制作标准

模型导出

建议使用FBX格式。导出的两个方式:
1. 所有的动画信息与模型信息一起导出,这些动画导入Unity3D 之后是被视为一个连续的动画
2. 第二种方式把每个动画信息单独导出为FBX格式。使用此方式导出时候,注意对动画合理的命名,一般的命名的规则为:模型名称@动画剪辑.FBX

Animator(动画编辑器)

Add Behaviour 的简单应用:

Mecanim动画系统_第2张图片
在 Animator 中选中动画事件,可以在“Add Behaviour”中添加脚本增加动画的灵活性。脚本自动继承 “StateMachineBehaviour”,
可以使用回调函数:OnStateEnter();OnStateUpdate();OnStateMove();OnStateIK()

Animator Controller(动画控制器)

HasExitTime

如果我们勾选了该项,在动画转换时会等待当前动画播放完毕才会转换到下一个动画,如果当前动画是循环动画会等待本次播放完毕时转换,所以对于需要立即转换动画的情况时记得要取消勾选。
还有一种情况时,当我当前的动画播放完毕后就自动转换到箭头所指的下一个状态(没有其他跳转条件),此时必须勾选该选项,否则动画播放完毕后就会卡在最后一帧,如果是循环动画就会一直循环播放。




转载参考 https://www.jianshu.com/p/d0a3014bd9ce


Mecanim动画系统学习笔记(一):认识Mecanim动画系统
Mecanim动画系统学习笔记(二):模型导入
Mecanim动画系统学习笔记(三):Animation View
Mecanim动画系统学习笔记(四):Animation State
Mecanim动画系统学习笔记(五):Animator Controller
Mecanim动画系统学习笔记(六):使用脚本控制动画
Mecanim动画系统学习笔记(七):IK(反向动力学)动画
Mecanim动画系统学习笔记(八):Animator Layers(动画分层)Avatar Mask
Mecanim动画系统学习笔记(九):Blend Tree(混合树)
Mecanim动画系统学习笔记(十):Mecanim动画的资源加载相关
Mecanim动画系统学习笔记(十一):高级功能应用Animation Curve、Target Match、Animation Record

你可能感兴趣的:(Unity)