Хорошо, вот быстрый и простой способ сделать это. Вероятно, "лучше" сделать это с правильным триггером, но это должно дать вам результат, который вы хотите довольно быстро:
Если у вас еще нет преобразования, выровненного по стволу, создайте пустой GameObject и выровняйте его (убедитесь, что это дочерний элемент турели, чтобы они двигались вместе). Добавьте ссылку на ваш скрипт для его преобразования.
Затем, в вашей первой строке, рассчитайте по новому преобразованию Барреля вместо преобразования turretHead. Оставь все остальное таким же. Таким образом, он рассчитывает от ствола башни, но перемещает головку башни.
Теперь этот подход не идеален. Если центр поворота слишком смещен относительно ствола, то он будет менее точным при больших перемещениях или при наведении на что-то рядом, потому что ожидаемое положение при нацеливании будет отличаться от исходного положения из-за поворота поворота в другом месте. , Но это может быть решено с помощью итерации, так как расчет будет тем точнее, чем ближе он к желаемой цели.