во первых: должна быть функция которая приводит любой(!) ротатор к виду "башня, пушка" и все наведение устанавливается через него
во вторых: если посмотреть ролл получаемого ротатора то он окажется не нулевой, соответственно только полный ротатор показывает в нужное направление. если взять только кусок PITCH YAW без ролл то он не смотрит туда куда нужно.
в третьих: XYZ ротатор вообще необязан давать PITCH YAW как хочется, а вот кватернионы всегда точны, ротаторы XYZ - бесполезный мусор. Все вращения нужно считать в кватернионах.
в4: раз уж БП, а не с++ и к кватернионам и их методам доступа нету, то считаем тригонометрией углы.
проекция вектора направления к цели на плейн с нормалью Z(локальный горизонт) башни и померить угол между проекцией и форвардом башни даст Азимут башни.
а угол между направлением к цели и полученой ранее проекцией даст Зенит.
и да - знание тригонометрии обязательно для всех кто работает в любой 3д среде (в т.ч. реальности).
_________________
we need to go deeper