在 Unity Animator 中使用 "Any State" 的问题
issue using "Any State" in Unity Animator
所以,我正在制作一个 2D 小游戏,在这个游戏中,玩家可以滑雪,所以,我制作了玩家动画师,我希望玩家可以滑雪,而不管状态如何,所以我使用了"Any State" 状态使用名为 "isSnowboarding" 的 bool 将当前动画转换为“9_Snowboarding”动画,效果很好。
当我想让玩家跳跃时,问题就开始了,我创建了跳跃动画,并创建了一个名为 "isJumping" 的 bool 来使转换发生,我通过代码将 bool 设置为 true。
动画控制器没有转换到动画并播放它,而是多次将“9_Snowboarding”转换为“10_SnowboardJumping”,我不知道如何解决这个问题。
特别是在您的情况下,您需要使用 "trigger" 而不是 "bool" 参数。
bool 的问题在于 isJumping
始终设置为 true,因此您的条件不断匹配并且您不断过渡到相同的动画。
另一方面,"Triggers" 将在使用后禁用。因此,请尝试添加类似 Jump
触发器的内容并在您的代码中进行设置
或者,如果出于某种原因你绝对需要一个布尔值,你可以在 Any State to your State Die 的 Transition 设置中禁用选项 "Can Transition To Self"。
所以,我正在制作一个 2D 小游戏,在这个游戏中,玩家可以滑雪,所以,我制作了玩家动画师,我希望玩家可以滑雪,而不管状态如何,所以我使用了"Any State" 状态使用名为 "isSnowboarding" 的 bool 将当前动画转换为“9_Snowboarding”动画,效果很好。
当我想让玩家跳跃时,问题就开始了,我创建了跳跃动画,并创建了一个名为 "isJumping" 的 bool 来使转换发生,我通过代码将 bool 设置为 true。
动画控制器没有转换到动画并播放它,而是多次将“9_Snowboarding”转换为“10_SnowboardJumping”,我不知道如何解决这个问题。
特别是在您的情况下,您需要使用 "trigger" 而不是 "bool" 参数。
bool 的问题在于 isJumping
始终设置为 true,因此您的条件不断匹配并且您不断过渡到相同的动画。
"Triggers" 将在使用后禁用。因此,请尝试添加类似 Jump
触发器的内容并在您的代码中进行设置
或者,如果出于某种原因你绝对需要一个布尔值,你可以在 Any State to your State Die 的 Transition 设置中禁用选项 "Can Transition To Self"。