Как можно изменить вращение объекта в Unity3D?
Вызвать данный код на дочернем объекте:var ownLocalAngles = transform.localEulerAngles;
ownLocalAngles.y = transform.parent.eulerAngles.z;
transform.localEulerAngles = ownLocalAngles;
Обратите внимание, что это работает с углами Эйлера объекта, а не с кватернионами.
Посмотрите в эту сторону, эту реализацию использовал на голове танка (главное условие было крутить голову локально, по координатам камеры глобальным), что бы она правильно крутилась. Дуло смотрит туда куда смотрит камера, учитывается поворот самого танка. (тут убрана интерполяция).gun.localRotation = Quaternion.AngleAxis(_cacheCamera.eulerAngles.y - transform.eulerAngles.y, Vector3.up)