Всем привет, сделал бесконечное движение объекта и его отталкивание от стенок, но оно работает не всегда правильно. На закругленных углах (иногда даже у прямой стены) он просто застревает и перестает двигаться совсем, либо медленно двигается до точки, на которой прекращает движение. С чем это может быть связано и как это можно исправить?
Код:
private void FixedUpdate()
{
rb.velocity = direction * normalSpeed;
lastDirection = direction;
}
private void OnCollisionEnter2D(Collision2D collision)
{
//Отталкивание от объектов.
direction = Vector3.Reflect(lastDirection.normalized, collision.GetContact(0).normal);
Тут он застрял: