淘先锋技术网

首页 1 2 3 4 5 6 7

1. Animation

1.1 创建Animation

  1. 选中需要添加动画的物体,打开Animation面板
    在这里插入图片描述
    在这里插入图片描述
    点击Create创建动画
    在这里插入图片描述

1.2 Animation 属性

在这里插入图片描述

2. Animator

2.1 Animator 组件

当我们为物体创建 Animation 时。一个 Animator已经悄无声息地出现在了对应的GameObject上
在这里插入图片描述

2.2 Animation 状态

每个Animator Controller都会自带三个状态:Any State, Entry 和 Exit。

  1. Any State 状态
    表示任意状态的特殊状态。例如我们如果希望角色在任何状态下都有可能切换到死亡状态,那么Any State就可以帮我们做到。当你发现某个状态可以从任何状态以相同的条件跳转到时,那么你就可以用Any State来简化过渡关系。
  2. Entry 状态
    表示状态机的入口状态。默认情况下Animator组件会播放哪个动画呢由Entry来决定的。
    在这里插入图片描述
    可以任意一个状态上通过 鼠标右键->Set as Layer Default State更改默认状态。
    在这里插入图片描述
  3. Exit 状态(用时百度)

2.3 状态控制参数

添加状态参数:
在这里插入图片描述

点击状态间的连线,在Inspecter窗口中可以进行设置,在Conditions栏下可以添加条件,如下图表示当参数
animPara为0时会执行这个动画Any State到New State的过渡
在这里插入图片描述

2.4 代码中控制状态

Animator ator = go1.GetComponent<Animator>();
ator.SetInteger("animPara", 1);

3. 代码控制动画的播放/暂停/继续播放

  1. 重新播放
Animator.Play(state, layer, normalizedTime)	
// 比如有一个叫“hit”的动画,在layer 0层中
animator.Play("hit", 0, 0f);
  1. 暂停和继续播放

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;