Unity Animator中使用“任何状态”的问题

时间:2018-08-28 21:37:01

标签: c# unity3d animation animator

因此,我正在制作一个2D小游戏,在这个游戏中,玩家可以滑雪,所以,我制作了玩家动画器,并且我希望玩家可以滑雪无关的状态,因此我使用了“状态”状态,使用名为“ isSnowboarding”的布尔将当前动画转换为“ 9_Snowboarding”动画,并且效果很好。

First Image

问题开始于当我希望玩家跳跃时,我创建了跳跃动画,并创建了一个布尔值来使过渡发生,称为“ isJumping”,然后通过代码将布尔值设置为true。

transition settings

动画师控制器没有多次转换和播放动画,而是连续多次将“ 9_Snowboarding”转换为“ 10_SnowboardJumping”,我不知道该如何解决。

animation keeps transitioning

2 个答案:

答案 0 :(得分:2)

或者,如果由于某些原因绝对需要在那里,则可以在“任何状态到状态冲模”的“过渡”设置中禁用“可以过渡到自身”选项。

AnyState Transition Settings - Can Transition To Self

答案 1 :(得分:0)

尤其是在您的情况下,您需要使用“触发器”而不是“布尔”参数。

布尔的问题是isJumping始终设置为true,因此您的条件会不断匹配,并且会继续过渡到相同的动画。

另一方面,“触发器”将禁用。因此,请尝试添加类似Jump触发器的内容并将其设置在您的代码中