【问题标题】:Run new animation only when previous one is finished仅在前一个动画完成时运行新动画
【发布时间】:2023-03-08 16:19:02
【问题描述】:

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

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

如果重要的话,我的项目是 2D 的。

【问题讨论】:

    标签: c# animation unity3d


    【解决方案1】:

    点击这里-> Exit Time

    在动画师内部你有你的剪辑。单击带有此检查器视图的剪辑。您需要检查“有退出时间”。

    然后您需要将退出时间设置为 1,将过渡持续时间设置为 0。

    通过设置这些值,您是在告诉动画师该动画必须在继续下一个之前完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      • 2014-01-24
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多