Как с помощью рейкаста запретить персонажу выходить из коллайдеров?
2д топ-даун игра. Суть в том, что персонаж может ходить только по блокам, которые может ставить. Коллайдеры висят и на персонаже и на блоках. Как сделать так, чтобы персонаж не мог выходить за пределы этих коллайдеров?
hit = Physics2D.BoxCast(transform.position, boxCollider.size, 0, new Vector2(0, moveDelta.y), Mathf.Abs(moveDelta.y * Time.fixedDeltaTime), LayerMask.GetMask("Block"));
if (hit.collider != null) transform.Translate(0, moveDelta.y * playerSpeed * Time.fixedDeltaTime, 0);
hit = Physics2D.BoxCast(transform.position, boxCollider.size, 0, new Vector2(moveDelta.x, 0), Mathf.Abs(moveDelta.x * Time.fixedDeltaTime), LayerMask.GetMask("Block"));
if (hit.collider != null) transform.Translate(moveDelta.x * playerSpeed * Time.fixedDeltaTime, 0, 0);
Написал такой код, но персонаж выходит за коллайдер блока, пока не выйдет из него полностью. А мне надо, чтобы коллайдер блока не выпускал коллайдер персонажа из себя, так и плюс если появляется еще один блок рядом, то персонаж мог через них спокойно проходить