Почему куб прыгает не всегда в Unity?

На Player(обычный объект куб, за которым следим камера) в Unity нацеплен такой простенький c# скрипт, отвечающий только за передвижение:

using UnityEngine;

public class Movement : MonoBehaviour
{

    public Rigidbody rb;

    public float forwardSpeed = 10f;
    public float sideSpeed = 5f;
    public float jumpSpeed = 2f;

    void FixedUpdate() 
    {
        
        if ( Input.GetKey("w") ) 
        {
            rb.AddForce(0, 0, forwardSpeed);
        }

        if ( Input.GetKey("s") )
        {
            rb.AddForce(0, 0, -forwardSpeed);
        }

        if ( Input.GetKey("d") ) 
        {
            rb.AddForce(sideSpeed, 0, 0);
        }

        if ( Input.GetKey("a") ) 
        {
            rb.AddForce(-sideSpeed, 0, 0);
        }

        if ( Input.GetKeyDown("space") ) 
        {
            rb.AddForce(Vector3.up * jumpSpeed, ForceMode.Impulse);
        }

    }
}

В консоли никакой ошибки нет, но есть в самой игре: куб конечно прыгает но делает это когда хочет, несмотря на то что я нажимаю пробел снова и снова. Почему так, ведь как я понял у других такой же код, но прыжок у них работает нормально. Остальное управление в норме. В чём может быть проблема? Возможно она в настройках моего проекта, подскажите пожалуйста.


Ответы (0 шт):