zoukankan      html  css  js  c++  java
  • 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来达到这样的效果

  • 相关阅读:
    LVM : 简介
    Linux 磁盘与磁盘分区
    Terraform:创建 Azure 虚机
    Terraform:简介
    Jenkins CLI 命令详解
    Bash 中常见的字符串操作
    读书笔记2014第16本:《视觉繁美:信息可视化方法与案例解析》
    读书笔记2014第15本:《视不可当----信息图与可视化传播》
    读书笔记2014第14本:《李鸿章传》
    中国象棋引擎的C#源代码
  • 原文地址:https://www.cnblogs.com/kwmgenius/p/7082362.html
Copyright © 2011-2022 走看看