【发布时间】:2017-05-30 20:11:24
【问题描述】:
我正在用 Unity 制作一个 2d 游戏,我为主角创建了 4 个动画;上、下、左、右。为此,我制作了动画并使用如下代码触发它们:
anim.SetBool ("movingUp", true);
当按下向上键时会发生这种情况。这种类型的动画很容易处理,因为它不是基于时间,而是玩家希望角色处于该状态多长时间。我现在正在尝试添加一个动画,当角色与另一个游戏对象碰撞时触发。我不知道如何制作,所以动画只会播放一次,然后再回到另一个动画。有没有办法在 Unity 中触发动画只播放一次?
【问题讨论】:
-
将动画视为状态,将动画控制器视为状态机。我会制作一个空闲动画并将其作为条目。让您的其他动画解决这个问题,然后根据逻辑回退到默认(空闲)动画。您可以通过单击设置每个动画的属性。它们在检查器中弹出
-
@mtrueblood 角色永远不会处于空闲状态,这并不能真正回答我的问题我已经了解如何使用动画我让它们工作,我只是现在不知道如何制作动画只玩一次。你不能用状态来逻辑你的方式,因为角色处于它击中游戏对象一瞬间的状态,没有足够长的时间来播放动画,所以你如何播放动画直到它完成是我要问的
-
您应该提供更多详细信息,我的评论仅作为一般评论,因为我不确定您的问题到底是什么。您可以为动画设置固定的持续时间并从动画面板关闭循环。