• Unity Mecanim 动画系统


      

    1. 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表示摄像机看不见时停止动画的所有更新。

     2. 创建 AnimatorController

       默认有三个初始状态:

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

     3. 创建新状态

       右键-> Create State -> Empty。

      可以将该状态设为默认状态,右键 -> Set as Layer Default State。

     4. 状态切换

       右键 -> Make Transition。

      可以通过参数的变化来进行状态的转换。

     

    • Float:float类型的参数,多用于控制状态机内部的浮点型参数;
    • Int:int类型的参数,多用于控制状态机内部的整型参数;
    • Bool:bool类型参数,多用于状态切换;
    • Trigger:本质上也是一个bool类型的参数,但是其值默认为false,且设置为true后系统会自动将其还原为false;

       Has Exit Time: 

       

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

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

     

  • 相关阅读:
    ASP.NET中的MSChart 控件使用 (示例)
    Win server2003 中 右键IE属性 “无法定位序数325于动态链接库SHDOCVW.dll”
    javascript实现图片左右轮换效果(鼠标控制亦可)
    ASP.NET ServerSide Charting With OWC11——饼状图
    Flex LineChart曲线——动态加载组件
    从公交塞车,看C# 多线程同步问题
    用于.NET环境的时间测试
    ASP.NET中 Repeater嵌套应用
    GridView合并单元格(所有内容相同的单元格)
    JUnit 4 单元测试
  • 原文地址:https://www.cnblogs.com/coderJiebao/p/unity3d14.html
Copyright © 2020-2023  润新知