如何重新启动统一动画师?

Posted

技术标签:

【中文标题】如何重新启动统一动画师?【英文标题】:How to restart unity animator? 【发布时间】:2017-10-20 10:22:30 【问题描述】:

我使用动画师倒计时(使用手指模型为三秒)。我成功地制作了倒计时动画师。我想随时玩动画师,因为这个项目需要多次倒计时来校准。

但我不知道怎么做。现在我不能随时播放动画师,也不知道如何再次播放。目前,动画器是在动画器窗口中创建的,而不是作为脚本。

【问题讨论】:

检查Animator 文档并了解如何播放/停止动画。 场景播放后,动画师将播放一次,但我想知道如何在需要时播放该动画师。 我知道如何通过循环功能连续播放,但我想每 3 秒运行一个 3 秒动画师从传感器读取值! 【参考方案1】:
animator.Play("animation name", layer, normalizedTime);

这是超载。 更准确地说:

animator.Play("your animation name", -1, 0f);

如果你愿意,你也可以使用协程。这是我的首选方式:

private IEnumerator Counter(int secondsToCount)

    while (secondsToCount >= 0)
    
        //'counter' is the counter that appears to the player
        counter.text = secondsToCount.ToString();
        secondsToCount--;
        yield return new WaitForSeconds(1f);
    

这样您就可以控制要倒计时的秒数。

编辑:

如果您是新手并且对协同程序一无所知。你可以这样启动它们:

StartCoroutine(Counter(5));

这将从 5 计数到 0。

【讨论】:

以上是关于如何重新启动统一动画师?的主要内容,如果未能解决你的问题,请参考以下文章

重新启动时如何使这个 CSS 关键帧动画平滑?

如何从头开始重新启动gif动画?框架

如何以最小的影响重新启动 CSS 动画

如何通过在 svg 中保存开始时间来重新启动动画

如何在不使用 void 的情况下重新启动 CSS 动画?

当应用程序进入前台时,如何重新启动基于块的动画?