在Unity中,我试图在跳跃的同时为我的玩家提供速度,如果你跳中间动作,AKA继续前进。到目前为止,这是我的代码:
if (VerVelocity != 0 || HorVelocity != 0) {
if (Anim.GetCurrentAnimatorStateInfo(0).IsName("jump") || Anim.GetCurrentAnimatorStateInfo(0).IsName("fall")) {
transform.Translate(Vector3.forward * VerVelocity * JumpSpeedMultiplier * Time.deltaTime);
transform.Translate(Vector3.right * HorVelocity * JumpSpeedMultiplier * Time.deltaTime);
}
}
HorVelocity和VerVelocity是自上而下的,意味着Hor是左和右,而Ver是前进和后退。我遇到的问题是这些事件可以按任何顺序发生,这意味着你可以改变空中方向。如何在跳跃之前检查您是否正在跑步而不是之后?感谢您提供的任何帮助!
答案 0 :(得分:0)
在动画制作工具中创建2个状态,一个用于jump
,另一个用于runjump
,然后将此代码设置为runjump
状态。