码迷,mamicode.com
首页 > 其他好文 > 详细

Animator Controller学习笔记

时间:2016-04-24 18:45:18      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

1.Animator Controller(Animator Controller在Unity中是作为一种单独的配置文件存在的文件类型,其后缀为controller)的功能:

  • 可以对多个动画进行整合;
  • 使用状态机来实现动画的播放和切换;
  • 可以实现动画融合和分层播放;
  • 可以通过脚本来对动画播放进行深度控制。

2.Animator组件:

技术分享

  • Controller:使用的Animator Controller文件。
  • Avatar:使用的骨骼文件。
  • Apply Root Motion:绑定该组件的GameObject的位置是否可以由动画进行改变(如果存在改变位移的动画)。
  • Update Mode:更新模式:Normal表示使用Update进行更新,Animate Physics表示使用FixUpdate进行更新(一般用在和物体有交互的情况下),Unscale Time表示无视timeScale进行更新(一般用在UI动画中)。
  • Culling Mode:剔除模式:Always Animate表示即使摄像机看不见也要进行动画播放的更新,Cull Update Transform表示摄像机看不见时停止动画播放但是位置会继续更新,Cull Completely表示摄像机看不见时停止动画的所有更新。  

3.Animator Controller

技术分享

  • Entry:表示当进入当前状态机时的入口,该状态连接的状态会成为进入状态机后的第一个状态;
  • Any State:表示任意的状态,其作用是其指向的状态是在任意时刻都可以切换过去的状态;
  • Exit:表示退出当前的状态机,如果有任意状态指向该出口,表示可以从指定状态退出当前的状态机;

4.状态切换:

在Mecanim中,动画之间的播放不再是通过调用诸如“Play”之类的方法进行切换了,而是通过判断参数(Parameters)的变换来进行状态即动画的切换。

 

我们打开Parameters面板,这里被用来设置状态机使用到的各种参数,如下:

技术分享

 

点击加号可以创建一个参数,在Unity中允许我们创建4种类型的参数:

Float:float类型的参数,多用于控制状态机内部的浮点型参数;

Int:int类型的参数,多用于控制状态机内部的整型参数;

Bool:bool类型参数,多用于状态切换;

Trigger:本质上也是一个bool类型的参数,但是其值默认为false,且设置为true后系统会自动将其还原为false;

技术分享

建立了一个IsWalk的状态。我们点击线条可以在Inspector窗口设定转换的条件。

技术分享

5.

Has Exit Time

技术分享

如果我们勾选了该项,在动画转换时会等待当前动画播放完毕才会转换到下一个动画,如果当前动画是循环动画会等待本次播放完毕时转换,所以对于需要立即转换动画的情况时记得要取消勾选。

还有一种情况时,当我当前的动画播放完毕后就自动转换到箭头所指的下一个状态(没有其他跳转条件),此时必须勾选该选项,否则动画播放完毕后就会卡在最后一帧,如果是循环动画就会一直循环播放。

6.切换动画的方法;animator.SetBool("那货的parameters里设置的参数名称",value);在本例中即为animator.SetBool("IsWalk",true);我们让它保持走路的状态。

Animator Controller学习笔记

标签:

原文地址:http://www.cnblogs.com/ZeroMurder/p/5427548.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!