#c# #unity3d #axes
Вопрос:
У меня есть бесплатная камера Cinemachine, и я хочу, чтобы она была похожа на Skyrim, где вращение персонажа следует за направлением камеры, но только по оси Y, чтобы я мог перемещать мышь и смотреть на персонажа сверху вниз; Это видео демонстрирует, как MrKrabs может перемещаться в 3 измерениях, но не поворачивается. Я уже пробовал создать пустой объект и поместить его в центр персонажа, а затем использовать transform.LookAt(Camera)
чтобы указать, где находится камера, и, наконец, получить значение Y поворота объекта, перевернуть его -transform.position.y
и применить к MrKrabs, но это не сработало: это было нервно и в целом просто плохой пользовательский интерфейс, есть ли способ повернуть игровой объект на основе поворота камеры? (камера всегда была у него за спиной)
Ответ №1:
Что-то вроде этого должно сработать.
transform.rotation = Quaternion.Euler(0, Camera.main.transform.eulerAngles.y, 0);
Будьте осторожны, если ваша камера является дочерним объектом вашего объекта, она будет вращаться вместе с ним.