zoukankan      html  css  js  c++  java
  • Unity3D中Animator动画控制器组件的相关使用

    对于一个游戏/应用来说,动画是不可或缺的成分,对用户的使用体验有很大影响.

    Unity3D中Animator组件具有对动画按需求进行相应处理的功能.

    相关的一些API可以去Unity官网看看:

    https://docs.unity3d.com/ScriptReference/Animator.html

    以下为小编(编程萌新)入门级别的个人研究.(大神请绕路)

    Animator组件:

    一.从创建动画开始

         在unity的Hierarchy层级窗口下选择需要做动画的对象,

          

        按快捷键"Ctrl+6",弹出Animation动画制作窗口

          

          点击creat创建动画并保存在合适的位置

          关闭如上窗口,重新Ctrl+6打开,点击AddProperty后面出现可以操作的选项:

           

          一般情况下我们只做一些Transform类的简单动画,比如位移,旋转,缩放;产生的动画切片会保存在相应的文件夹里

    二.实现动画的动态切换

          然后找到Animator控制器文件:

          (看,它是这个样子的东东)

         双击它

         会在场景视图出现一个新的视图

          

         (以上案例为一个完整人物动画状态系列)

           点击切片之间的白色连线,得到右侧的窗口信息

          

          其中的判断条件可以在左侧自定义:

           

          如上图片中的七个参数(IsRun,Attack等),都是自行设定的参数,通过点击小加号,可以进行创建,初始值可以根据自己需要进行设定

          动画切换可以用代码改变参数值来实现动态控制;

         相应的API如下:

              1.Float类型--> SetFloat("参数名",float类型参数值);   例子:

                 

              2.Int类型--> SetInteger("参数名",int类型参数值);   

                 

              3.bool类型--> SetBool("参数名",bool值);

                 

              4.Trigger类型--> SetTrigger("参数名");

                  

              注:Float类型和Int类型的参数值在白线的条件设置时可以选择大于/小于某一值的时候,进行动画切换,

                  而Trigger则是直接触发切换即可

                  

    暂时先讲这么多,以后研究更加深入的时候会对此进行追加或修改.

    PS:动画切换一般都搭配有状态机, 使用状态机可以让人物的当前状态下应该做的事情,条理更加清晰;        

  • 相关阅读:
    大数据用户画像方法与实践(干货 转帖)
    前端学习之路
    MySQL学习记录
    Linux 运维之路
    Python学习之路
    NgRx/Store 4 + Angular 5使用教程
    CSS实现各种形状
    CSS3实现背景透明,文字不透明
    CSS实现网页背景图片自适应全屏
    使用Restify+superagent做数据转发
  • 原文地址:https://www.cnblogs.com/RainPaint/p/10251434.html
Copyright © 2011-2022 走看看