Pavel Nakonechnyy

Unity | Маштабировать BoxCollider2D по спрайту

Опубликовано by Pavel Nakonechnyy on (изменено: ) в GameDev.

Небольшой скрипт, который будет полезен, если ваш объект меняет спрайты различного размера.

public static void MatchToSize(GameObject obj, BoxCollider2D collider = null, SpriteRenderer renderer = null) {
            collider = collider ?? obj.GetComponent();
            renderer = renderer ?? obj.GetComponent();
            
            Vector2 S = renderer.sprite.bounds.size;
            collider.size = S;
            collider.offset = Vector2.zero;
        }

UPD: Сделал возможность небольшой оптимизации при помощи передачи найденных компонентов в скрипт.

317