Я бы начал с описания всей формы как списка точек. Тогда вы сможете перемещать эти точки либо с помощью физики, либо «вручную» (выполняя Physics2D.OverlapPoint и некоторую математику во время движения). являются учебными пособиями о том, как это сделать (я думаю, что он есть у Фрейи Холмер), просто поищите «процедурную геометрию» или что-то подобное.