Почему куб прыгает не всегда в 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);
}
}
}
В консоли никакой ошибки нет, но есть в самой игре: куб конечно прыгает но делает это когда хочет, несмотря на то что я нажимаю пробел снова и снова. Почему так, ведь как я понял у других такой же код, но прыжок у них работает нормально. Остальное управление в норме. В чём может быть проблема? Возможно она в настройках моего проекта, подскажите пожалуйста.