Unity Animator 之 轻松实现动画倒放的效果
1、打开Unity,新建一个空工程,具体如下图

2、在工程中,导入一个带动画的盒子资源,然后添加资源到场景中,具体如下图


3、在工程中,新建一个脚本,然后双击或右键打开,进行脚本编辑,具体如下图

4、脚本中获取目标动画机,在设置一个参数控制动画机的speed,实现倒放,具体代码和代码说明如下图

5、脚本具体代码如下:
using UnityEngine;
public class AnimatorPalyBackwardsAnimation : MonoBehaviour {
public Animator anim;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(KeyCode.Space)) {
ToPlayBackwardsAnimation();
}
}
/// <summary>
/// 倒放动画函数
/// </summary>
private void ToPlayBackwardsAnimation() {
// 设置动画机参数,只要把速度设置为负数即可实现倒放
anim.SetFloat("Speed", -4.0f);
}
}
6、脚本编译正确,回到Unity界面,在工程中新建一个动画机,把资源中的动画添加进去,然后添加一个脚本中,控制的参数,设置初始值,根据自己的需要设置,具体如下图

7、选中要控制的动画,勾选 speed 下的 Multiplier 的 parameter,选中绑定控制的参数,具体如下图

8、把脚本挂载到物体上,然后把物体添加的动画机赋值给脚本,具体如下图

9、运行场景,可以看到盒子正常打开,按钮下 脚本绑定的空格键,出发修改speed,盒子就实现关闭盒子动画,这样就实现了动画倒放,具体如下图