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)); 
}
}

Периодически, при нажатии кнопки передвижения, персонаж просто встает на месте, пока я не сдвину его в противоположную сторону.

Кто-нибудь может сказать в чем проблема?


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