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;
}

最后修改:2023 年 06 月 09 日
如果觉得我的文章对你有用,请随意赞赏