Unity NGUI中动画组件Animation的简单使用

     今天和大家分享一下unity中Animation动画组件的简单应用  本文中不涉及人物动画制作,只是简单的动画组件的使用

一.Animation组件

  •    1.Animatin 默认动画
  •    2.Animatins/Size 播放动画数量
  •    3.Rig/ Animatin Type/ Legacy 是指旧版动画系统

     Mecanim 是指新版动画系统

     旧版本动画系统和新版本的动画系统有很大的不同

   如何播放动画?

   播放动画主要用到这几个方法,Play,CrossFade和CrossFadeQueued,给大家讲一下这三种方法的不同
   Play是瞬间切换,没有过渡效果
   CrossFade则是有过渡效果,但是只能且能切换同一层的动画,层级通过layer来设置
   CorssFadeQueued()函数是播放动画队列,参数是(动画名称,过渡长度,队列模式,播放模式)
   其中队列模式是指结束上一个动画,开始下一个动画
   那么结束播放动画如何实现呢?
   很简单只需要通过Stop()函数来实现
二.动画融合
   1.AddMixingTransform()
   参数是你要播放动画的组件,例如一个人物有胳膊,腿,身体,人物走路的时候只想让它的腿动,
    而手不动,则此时可以用动画融合,函数参数就是两条腿就可以实现该效果
三.动画帧事件
    定义:当动画播放到某一帧,执行指定的方法,例如当敌人AI攻击的时候武器打中人物的时候,
    但是此时并没有真正的打中 只是到达一定的角度,像是刺中,而执行人物掉血的方法,就可以使用动画帧事件
    创建动画帧事件的过程:
    1.首先需要拷贝人物预置体中的动画到另一个文件夹中 原因:因为通过动画分割出的动画或者说是人物预置体中自带的动画,
    属性为只读属性,不可添加帧事件
    2.然后再打开Animation 快捷键是ctrl+6
    3.再选定动画和该动画指定的某一帧添加帧事件即可,事件方法只要在该物体上挂载的脚本上定义
    而这里又要涉及一个重要的方法 SendMessage() 顾名思义,这个方法是发送消息的,让目标物体执行一个方法
    具体用法是SendMessage("方法名",参数),方法在目标所挂载的脚本中定义,估计有人会问,这个有什么用,
    举个简单的例子,比如敌人AI打击到了人物,人物的血条要减少,所以就可以通过SendMessage来达到这样的效果

原文地址:https://www.cnblogs.com/kwmgenius/p/7082362.html