Animator 重置到起始帧
通过 Animator.Play 和 Animator.Update 播放来进行控制。
参数列表
Animator.Play()
- stateName => 将要播放的动画状态名字
- layer => 动画状态所在的层
- normalizedTime => 将要播放动画状态的归一化时间。
Animator.Update()
- deltaTime => 增量时间
public void animToStart() { //参数:动画名,层,时间
animator.Play("Take 001", -1 ,0f);
animator.Update(0f);
}
解决思路
通过设置动画的 AnimationState ,将其时间调整到0,从而达到重置动画的效果。
public void ResetAni(Animation ani, string name) {
AnimationState state = ani[name];
ani.Play(name);
state.time = 0;
ani.Sample();
state.enabled = false;
}