仅在前一个动画完成时运行新动画

时间:2016-05-28 15:45:53

标签: c# animation unity3d

我是Unity的新手,我正在努力正确配置我的动画。我有一个攻击动画,如果你按空格键一次必须播放,如果你按住它,它应该播放,直到你释放。我的问题是,一旦释放空格键,动画师会立即返回到先前的状态。我已经在Unity Q& A网站上阅读了一些答案,但它们都是关于运行动画的脚本,我没有使用任何脚本来运行我只是在动画师中设置它们。我怎样才能解决这个问题 ?我改变动画的方法是切换布尔变量的值,如下所示:

     if(Input.GetKeyDown(KeyCode.Space))
     {
         IsAttacking = true;
     }
     if(Input.GetKeyUp(KeyCode.Space))
     {
         IsAttacking = false;
     }
     playerAnimator.SetBool("IsAttacking", IsAttacking);

如果重要,我的项目是二维的。

1 个答案:

答案 0 :(得分:1)

点击此 - > Exit Time

动画师内部有你的剪辑。单击剪辑并显示此检查器视图。您想要查看退出时间'。

然后,您想要将退出时间设置为1,将过渡时间设置为0.

通过设置这些值,您可以告诉动画师这个动画必须完成才能继续下一个。