我是设计游戏的新手,过去几天与动画师一直遇到麻烦。我已经从Unity商店下载了一个免费资产,其中包括一个免费精灵字符以及用于空闲,步行,跑步和跳跃的动画。我的问题是当我在游戏中使用这个资产包时,我不能在我的生活中找出如何在idle-> walk和任何state-> jump之间转换。我相信它与没有设置参数有关,因为我想在我的角色移动时发生步行动画。问题是它似乎陷入了空闲模式。在动画师中设置了过渡,但我无法弄清楚如何让动画师知道我何时移动,以及当我实际上处于闲置状态时。如何连接我的角色移动脚本以与动画一起使用?我是否需要编写一个新脚本,它使用我在动画制作中创建的新参数,还是我完全遗漏了某些东西?我再次对此非常陌生,所以如果这是一个愚蠢的问题,我道歉,但我无法弄清楚。我观看过的所有视频都只展示了如何构建动画并将它们放入动画师中,而不是特定的脚本或参数。谢谢!
答案 0 :(得分:2)
查看动画转换要求,然后设置所需的值。例如:
Animator anim = obj.GetComponent<Animator>();
anim.SetTrigger("running");
或
anim.SetFloat("speed", 2);
或
anim.SetBool("running", true);
可能出错的一件小事:如果你以某种方式引用预制件而不是场景中的实例化对象,它将无效。并确保它不起作用,玩游戏,在层次结构中使用Animator找到对象,单击它,然后打开Animator窗口。您可以看到哪个州处于活动状态。
如果这没有帮助,你能更详细地描述过渡吗?