前文:https://blog.csdn.net/Jaihk662/article/details/87927195(人物角色模型)
一、Animator组件
官方文档:https://docs.unity3d.com/ScriptReference/Animator.html
- Controller:当前动画控制器(状态机)
- Avatar:骨骼文件,仅当GameObject是人形角色时才定义Avatar
- Apply Root Motion:该组件的GameObject的位置是否可以由动画进行改变,一般都要勾上
- Update Mode:更新模式(Normal:使用Update更新;Animate Physics:使用FixedUpdate进行更新;Unscale Time:无视timeScale进行更新
- Culling Mode:剔除模式(Always Animate:摄像机看不见时仍然进行动画更新;Cull Update Transform:摄像机看不见时动画不更新,但是动画导致的位置变化会更新;Cull Completely:摄像机看不见时停止动画的所有更新)
二、动画文件
一般来讲,如果你在一个项目里负责程序方面的工作,动画的话往往不用你操心,别人配好的之后会直接给你
这些动画文件各个独立,且每个动画文件只有下面这一个设置界面
(Loop Time:该动画是否循环播放,CycleOffest:动画偏移)
这些动画都是某些特定角色的专属动画,你只需要将对应的角色拖入动画中,就可以直接预览效果了
但是有些动画是可以(人形)角色通用的,例如官方的动作库,这个时候需要指定其Avatar,可以选中所有要设置的动画后批量设置,如下
三、状态机
新建状态机:Create → Animator Controller
状态机自带三个默认状态如下:
- Entry:入口
- Exit:出口
- Any State:代表任意状态
新建状态:
- 你新建的第一个状态为橙色,它一定会和Entry状态相连,后面新建的状态都为灰色
- 你可以给每个状态指定动画,当进入该状态时会播放该动画
一个例子如下:
关于状态机的详细介绍可以看后面的文章
例如:https://blog.csdn.net/Jaihk662/article/details/88384315(状态机实现人物站立、跑步与后退动画切换)