Unity 2D动画部分运行

本文关键字:运行 动画部 2D Unity | 更新日期: 2023-09-27 17:58:25

我有一个人类行走周期的2D骨架动画,这很好。我正在努力编码应该只停止手部动画,但不应该停止腿(在玩家输入上,例如空格键按压)是否可以在某些条件下禁用动画关键帧/曲线/属性,或以任何其他方式实现此功能。

Unity 2D动画部分运行

在动画控制器中具有多个状态。让一个状态同时具有手和腿动画,而另一个状态仅具有腿动画。通过在动画控制器中添加参数,从第一种状态过渡到另一种状态。让参数为布尔。

例如:从运行动画到静止动画,有一个bool stopRunning,从静止动画到运行动画,有有一个bool startRunning

因此,当设置了statRunning布尔时,角色将从静止动画过渡到运行动画,而当设置了stopRunning布尔时,则角色将处于静止状态。

然后在你的代码中,当按下空格键时,调用这些函数

public void StopRunning() {
        if (_PlayerAnimator.isActiveAndEnabled) {
            _PlayerAnimator.SetBool("stopRunning", true);
            _PlayerAnimator.SetBool("startRunning", false);
        }
    }
public void StartRunning() {
        if (_PlayerAnimator.isActiveAndEnabled) {
            _PlayerAnimator.SetBool("startRunning", true);
            _PlayerAnimator.SetBool("stopRunning", false);
        }
    }