/动画正播和倒播
void Start () {
Ani = GetComponent<Animation>();
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(KeyCode.W))
{
ReversePlay();
}
if (Input.GetKeyDown(KeyCode.S))
{
NormalPlay();
}
if (Input.GetKeyDown(KeyCode.Space))
{
StayInAFrame(0.5f);
}
}
//正播
void NormalPlay()
{
Ani["动画的名字"].time = Ani["动画的名字"].clip.length;
Ani["动画的名字"].speed = -1.0f;
Ani.CrossFade("动画的名字");
}
//倒播
void ReversePlay()
{
Ani["动画的名字"].time = 0;
Ani["动画的名字"].speed = 1.0f;
Ani.CrossFade("动画的名字");
}
//停止在某一帧
void StayInAFrame(float timer)
{
//设置停止在哪一帧
Ani["动画的名字"].time = timer;
Ani["动画的名字"].speed = 0f;
Ani.CrossFade("动画的名字");
}
Unity动画控制,停在某一帧,可以结合线性驱动或环形驱动,播放动画到指定进度。
也可以结合Unity进度条,从[0,1]的闭区间播放动画。