Единство - сделать объект лицом в одном направлении на одной оси? Не работает? - PullRequest
0 голосов
/ 17 марта 2019

Хорошо, у меня есть основная камера, которая может включать все 4 оси с помощью скрипта Google Magic Window и гироскопа iPhone.У меня также есть персонаж, который существует на земле и должен смотреть в том же направлении, что и игрок, то есть куда он смотрит.

Из того, что я вижу, это ось y:

enter image description here Ни один из объектов не является дочерним для чего-либо.Проблема в том, когда я делаю это, чтобы выровнять персонажа по оси Y камеры (игрока):

 transform.rotation = new Quaternion(transform.rotation.x, player.transform.rotation.y, transform.rotation.z, transform.rotation.w);

Я ничего не получаю.Я пробовал другие оси, но у должен быть слева / справа, и я не понимаю, что здесь не так.

Нужно ли что-то делать с transform.forward?Какой правильный способ сделать это?

1 Ответ

1 голос
/ 17 марта 2019

Возможно, это не лучшее решение, но вы можете использовать transform.forward, как вы упомянули, удалить компонент Y и преобразовать его в кватернион.

Vector3 rotation = camera.transform.forward;
rotation.y = 0f;

player.transform.rotation = Quaternion.LookRotation(rotation);
...