c# - 在 Unity Animator 中使用 "Any State"的问题

标签 c# unity3d animation animator

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

First Image

当我想让玩家跳跃时,问题就开始了,我创建了跳跃动画,我创建了一个名为“isJumping”的 bool 来进行转换,我通过代码将 bool 设置为 true。

transition settings

动画 Controller 没有过渡到动画并播放它,而是多次将“9_Snowboarding”过渡到“10_SnowboardJumping”,我不知道如何解决这个问题。

animation keeps transitioning

最佳答案

特别是在您的情况下,您需要使用“触发器”而不是“bool”参数。

bool 的问题在于 isJumping 始终设置为 true,因此您的条件会继续匹配,并且您会继续过渡到相同的动画。

另一方面,“触发器”一旦使用就会禁用。因此,尝试添加类似 Jump 触发器的内容并在您的代码中进行设置

关于c# - 在 Unity Animator 中使用 "Any State"的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52066520/

相关文章:

c# - Visual Studio 代码的自动完成不适用于 C#/Unity

c# - 用于 Unity3D 的 Visual Studio 2015 错误 "Incompatible Project"

javascript - 如何衡量 jQuery 动画与 CSS3 转换的性能?

java - android 动画自行旋转图像

c# - 从 C# 调用 C++ 函数传递类型剥离的空指针

c# - 对象引用,无法找到用户 ID

c# - 代码中的新字符串

android - UnityWebRequest.SendWebRequest 不在移动设备上发送

javascript - 隐藏元素后滚动到顶部不起作用 (jQuery)

c# - WPF以编程方式在项目控件中滚动 Canvas