Unity: вращение ТОЛЬКО вокруг оси y объекта, но рассматриваемый объект уже изменил вращение - PullRequest
0 голосов
/ 17 июня 2020

как сказано в названии, я по сути хочу установить y-поворот gameobject1 на gameobject2, но gameobject1 уже изменил вращение на что-то другое, кроме 0,0,0 в градусах. Скажем, например, поворот равен 34, 50, 16. Поскольку поворот изменился, оси тоже изменились, что означает, что они больше не указывают в направлениях x, y и z. поэтому, если мы попытаемся получить y rot, вместо этого мы получим вращение оси справа из-за вращения, которое ось y переместилась туда.

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

1 Ответ

0 голосов
/ 17 июня 2020

Используйте transform.RotateAround (target, Vector3.up, float yourRotation), где для вашей задачи target = Vector3.zero. См. Do c здесь: https://docs.unity3d.com/ScriptReference/Transform.RotateAround.html

...