Unity создание сборного юнита

Делаю игру на Unity, пытаюсь сделать собираемый танчик из разных деталей, но незнаю как правильно реализовать. Должно получится вот это.

введите сюда описание изображения

Детали представлены в префабах

введите сюда описание изображения

Хочу соединить их в коде с помощью джоинтов, а не простым вложением в иерирархию, так как мне нужно чтобы компонент, отвечающий за управление, придавал силу не ко всему танку в целом, а только к шасси. И проблема заключается в том что будет много всяких разных частей танка разных размеров, а необходимо чтобы они все друг к другу присоединялись правильно. Попытался написать компонент, с помощью которого можно было бы определять точки присоединения для каждой детали, но мне кажется существует решение получше, помогите мне его найти.

введите сюда описание изображения


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

Автор решения: Yaroslav

Создавай пустой GameObject, прикрепи модель Hull и скрипт (не к модели, а go) hullPoints с 2мя public полями: TowerPoint, ChassisPoint куда прикрешиш 2 пустых GameObject расположенных, где нужно. Hull готов!

Hull (hullPoints с сылками на TowerPoint и ChassisPoint)
 - Hull (Модель)
 - TowerPoint
 - ChassisPoint

Создавай пустой GameObject, прикрепи модель Tower0, приподними так, чтобы основание было в низу, а не в центре модельки и крепилось к TowerPoint. Скрипт towerPoints с полем GunPoint и GameObject откуда будет торчать ствол.

Tower (towerPoints с сылкой на GunPoint)
 - Tower0 (Модель)
 - GunPoint

и т.д. По сути детали готовятся без какой либо логики в скриптах, только ссылки на позиции.

→ Ссылка