简介
Animator Controller在Unity中是作为一种单独的配置文件存在的文件类型,其后缀为controller,Animator Controller包含了以下几种功能:
- 可以对多个动画进行整合;
- 使用状态机来实现动画的播放和切换;
- 可以实现动画融合和分层播放;
- 可以通过脚本来对动画播放进行深度控制;
一、添加Animator组件
我们需要播放动画的角色都需要添加Animator组件,该组件即为我们控制动画的接口,下面我们来看看Animator组件:
- Controller:使用的Animator Controller文件。
- Avatar:使用的骨骼文件。
- Apply Root Motion:绑定该组件的GameObject的位置是否可以由动画进行改变(如果存在改变位移的动画)。
- Update Mode:更新模式:Normal表示使用Update进行更新,Animate Physics表示使用FixUpdate进行更新(一般用在和物体有交互的情况下),UnscaleTime表示无视timeScale进行更新(一般用在UI动画中)。
- Culling Mode:剔除模式:Always Animate表示即使摄像机看不见也要进行动画播放的更新,Cull Update Transform表示摄像机看不见时停止动画播放但是位置会继续更新,Cull Completely表示摄像机看不见时停止动画的所有更新。
二、创建一个Animator Controller
我们在Project视图中右击菜单中可以创建Animator Controller(上图中的 Boy),下面我们看看新创建的Animator Controller:
首先,我们发现的是3个默认的状态,这些状态是Unity自动帮我们创建的同时也无法删除:
- Entry:表示当进入当前状态机时的入口,该状态连接的状态会成为进入状态机后的第一个状态;
- Any State:表示任意的状态,其作用是其指向的状态是在任意时刻都可以切换过去的状态;
- Exit:表示退出当前的状态机,如果有任意状态指向该出口,表示可以从指定状态退出当前的状态机;
1. 创建新状态
①我们可以右键菜单创建
②.或者我们可以通过把一个Animation Clip拖拽到状态机窗口中进行创建(Animation Type属性值必须为Generic或者Humanoid);
1. 状态切换
详细的介绍看下这篇:https://www.cnblogs.com/hammerc/p/4828774.html