简介
Animator Controller在Unity中是作为一种单独的配置文件存在的文件类型,其后缀为controller,Animator Controller包含了以下几种功能:
- 可以对多个动画进行整合;
- 使用状态机来实现动画的播放和切换;
- 可以实现动画融合和分层播放;
- 可以通过脚本来对动画播放进行深度控制;
下面我们通过一个图来直观的看看动画的组成结构:
Animator组件用来控制人物动画的播放,其中需要的两个最核心的内容就是控制动画播放逻辑的Animator Controller以及动画骨骼Avatar对象。
Animator组件
我们需要播放动画的角色都需要添加Animator组件,该组件即为我们控制动画的接口,下面我们来看看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表示摄像机看不见时停止动画的所有更新。
下方还会显示我们的动画的一些主要信息。
Animator Override Controller
我们在右键创建资源时还会发现这样的一个资源,该资源的意思是基于某个Animator Controller进行每个状态的动画的修改,其他设置不变,可以方便的复用我们已经创建好的Animator Controller。
创建一个Animator Controller
我们在Project视图中右击菜单中可以创建Animator Controller,下面我们看看新创建的Animator Controller: