【发布时间】: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