не знаю зачем вам преобразование..
mainObject.transform.rotation.ToAngleAxis(out y, out v);
вы бы описали какого эффекта хотите добиться...что и как вращать))
повторять угол по Y.
так пробовали??
obj.transform.rotation = Quaternion.Lerp(obj.transform.rotation, Quaternion.Euler(0, mainObject.transform..eulerAngles.y, 0), Time.deltaTime * 50);
но думаю будет тоже самое..
дело видите ли в чем..
Quaternion.Lerp - будет всегда в БЛИЖАЙШУЮ сторону вертеть))
кватернионы вообще так устроены))
не выйдет у вас "два оборота по часовой" сделать или что то подобное..таким образом..
для вращения это равноценно тому, что ничего не поменялось..
можете попробовать запоминать и накапливать именно ЧИСЛО..УГОЛ))
и тогда лерпить к примеру от нуля до 720...
именно подставляя напрямую Y.
будет тогда два оборота по часовой..как в анимации..
удачи.