文章目录
1. Animation
1.1 创建Animation
- 选中需要添加动画的物体,打开Animation面板
点击Create创建动画
1.2 Animation 属性
2. Animator
2.1 Animator 组件
当我们为物体创建 Animation 时。一个 Animator已经悄无声息地出现在了对应的GameObject上
2.2 Animation 状态
每个Animator Controller都会自带三个状态:Any State, Entry 和 Exit。
- Any State 状态
表示任意状态的特殊状态。例如我们如果希望角色在任何状态下都有可能切换到死亡状态,那么Any State就可以帮我们做到。当你发现某个状态可以从任何状态以相同的条件跳转到时,那么你就可以用Any State来简化过渡关系。 - Entry 状态
表示状态机的入口状态。默认情况下Animator组件会播放哪个动画呢由Entry来决定的。
可以任意一个状态上通过 鼠标右键->Set as Layer Default State更改默认状态。
- Exit 状态(用时百度)
2.3 状态控制参数
添加状态参数:
点击状态间的连线,在Inspecter窗口中可以进行设置,在Conditions栏下可以添加条件,如下图表示当参数
animPara为0时会执行这个动画Any State到New State的过渡
2.4 代码中控制状态
Animator ator = go1.GetComponent<Animator>();
ator.SetInteger("animPara", 1);
3. 代码控制动画的播放/暂停/继续播放
- 重新播放
Animator.Play(state, layer, normalizedTime)
// 比如有一个叫“hit”的动画,在layer 0层中
animator.Play("hit", 0, 0f);
- 暂停和继续播放
Animator
// 播放
animator.Play("ani_name");
// 暂停
animator.speed = 0;
// 继续播放
animator.speed = 1;
Animation
// 播放
animition.Play("ani_name");
// 暂停
animition["ani_name"].speed = 0;
// 继续播放
animition["ani_name"].speed = 1;