【问题标题】:Unity: Animation won't play on triggerUnity:动画不会在触发器上播放
【发布时间】:2021-01-26 12:57:44
【问题描述】:

我无法让 Unity 播放我的动画。 我给我的角色一个动画师。在这个动画师中,我有这个动画:

这些动画之间的触发器工作正常,并且在播放时运行正常。它自己播放的空闲动画,而我无法让它在游戏中播放步行或跳跃动画(在检查器中都可以正常工作)。 在播放时触发触发器,它甚至在行走或跳跃框下方显示蓝条,但动画本身不会在游戏中播放。

这是我用来调用触发器的代码:

void Update()
    {
        if (Input.GetKey(KeyCode.LeftArrow) || Input.GetKey(KeyCode.RightArrow)|| Input.GetKey(KeyCode.A)||Input.GetKey(KeyCode.D))
        {
            anim.SetBool("isWalk", true);
            
        }
        else
        {
            anim.SetBool("isWalk", false);
        }

        if (Input.GetKey(KeyCode.Space))
        {
            anim.SetBool("isJump",true);
        }
        else
        {
            anim.SetBool("isJump", false);
        }
        
    }

还有过渡条件(但这些对我来说很好用):

idle->jump: isJump =true,
jump->idle: isJump =fals,
idle->walk: isWalk =true,
walk->idle: isWalk =false,

idle->walk 截图:

walk->idle的截图:

我希望有人能帮我解决这个问题,请原谅我可能英语不好...

【问题讨论】:

  • 您应该提供更多信息,例如您的触发器和动画师中的过渡设置,您用于调用触发器的代码。
  • 我认为不需要,因为触发器和转换工作正常。只是游戏中不会播放的动画而已。
  • 您是这个社区的新手,这里有一条基本规则:通常,如果您不提供更多相关信息(如您的脚本),没有人可以回答您的问题,或者与您的问题有关的一切。这可能不是 Unity 的错误,因此请使用脚本的相关部分和触发器/转换来编辑您的问题。
  • 我编辑了你要求的内容
  • 您的代码看起来确实不错,您可以在编辑器中发布动画组件的屏幕截图吗?你能贴一张过渡idle->walk and walk->idle的截图吗?

标签: unity3d animation animator


【解决方案1】:

我有同样的问题。 通过在指向未播放状态的过渡中取消选中“Can Transition To Self”来解决此问题。

【讨论】:

    猜你喜欢
    • 2018-12-25
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多