使用第三人称控制器统一向前跳跃

时间:2018-02-24 21:39:54

标签: unity3d

你如何使用统一标准资产中的第三人称控制器前进跳跃,我试过它,它确实向前跳跃,但它现在是双跳。

void HandleGroundedMovement(bool crouch, bool jump)
{
    // check whether conditions are right to allow a jump:
    if (jump && !crouch && m_Animator.GetCurrentAnimatorStateInfo(0).IsName("Grounded"))
    {
        //velocity x is multiplied by 2f<--I add this
        //
        // jump!
        m_Rigidbody.velocity = new Vector3(m_Rigidbody.velocity.x*2f, m_JumpPower, m_Rigidbody.velocity.z);

        m_IsGrounded = false;
        m_Animator.applyRootMotion = false;
        m_GroundCheckDistance = 0.1f;
    }
}

1 个答案:

答案 0 :(得分:0)

您的IF语句仅检查输入以及动画师是否接地。你有一个名为“m_IsGrounded”的变量,你可以使用它。这应该会阻止双跳。