2D Персонаж встает на месте в Unity
Пытаюсь разобраться с Unity, написал небольшой скрипт для передвижения персонажа
public class PlayerControls : MonoBehaviour
{
public float MovementSpeed = 3f;
Rigidbody2D rb;
private void Start()
{
rb = GetComponent<Rigidbody2D>();
}
private void FixedUpdate()
{
Run();
}
private void Run()
{
float direction = Input.GetAxis("Horizontal");
if (Input.GetButton("Horizontal")) rb.MovePosition(rb.transform.position +
(Vector3.right * direction * MovementSpeed));
}
}
Периодически, при нажатии кнопки передвижения, персонаж просто встает на месте, пока я не сдвину его в противоположную сторону.
Кто-нибудь может сказать в чем проблема?