我有一个人类步行周期的2D骨骼动画 - 很好。我正在努力编写代码,应该只停止手动画,但腿不应该(在播放器输入上 - 例如在空格键上) 是否可以在某些条件下禁用动画关键帧/曲线/属性或以任何其他方式实现此目的。
答案 0 :(得分:0)
动画控制器中有多个状态。让一个州有动手动画,另一个只有腿动画。通过在动画控制器中添加参数,从第一个状态转换到另一个状态。让参数成为一个bool。
Ex:从运行动画到休息动画,有一个bool stopRunning
,从休息动画到运行动画,有一个bool startRunning
因此,当设置statRunning
bool时,角色从静止动画转换为正在运行的动画,并且当设置stopRunning
bool时,角色将被搁置。
然后在你的代码中,当按下空格键时,调用这些函数
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);
}
}