如何在某些事件中每次使用动画师一次玩动画?

时间:2017-02-02 09:35:22

标签: animation unity3d

我知道animator.Play("anim")将播放动画,具体取决于动画片段是否循环,一次,默认等等。我想每次拨打animator.Play("anim")或按任意按钮时播放动画,它应该播放动画一次,如果取消选中动画片段中的循环时间选项,应停止播放,但我的问题是,如果我再次调用animator.Play("anim")动画不播放;我也不想使用任何参数来触发动画,因为只需播放一个简单的动画就可以了。示例: - 有关更多说明,我创建了一个动画,并将下面的脚本附加到动画对象,并在动画片段中进行了以下调整。

enter image description here enter image description here enter image description here

void Update ()
{
    if (Input.GetButtonDown("Jump"))
    {
        GetComponent<Animator>().Play("New Animation");
        print("Should Play");
    }
}

当我按空格键时,动画只播放一次(&#34;跳转&#34;),如果我再次按空格键,则不播放。我不知道该怎么做,也许我错过了什么。

1 个答案:

答案 0 :(得分:1)

使用以下代码播放动画并立即重置动画状态:

    GetComponent<Animator>().Play("New Animation",  -1, 0f);

来源:https://answers.unity.com/questions/623878/how-to-restart-mecanim-state-animation-or-play-it.html