2016-08-10 2 views
2

У меня есть камера, которая будет следить за игроком в трехмерном пространстве, независимо от поворота игрока. Теперь, когда нажата клавиша, я хотел бы, чтобы камера вращалась вокруг проигрывателя (предпочтительно, чтобы прорваться), пока она не окажется в том же направлении, что и игрок (по существу, на спине игрока).Unity вращает камеру за игроком

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

Любая информация или ресурсы были бы весьма признательны. Благодаря!

+0

Я не знаю, поможет ли это вам, но похоже, что вы знаете угол и положение, которое вам нужно идти, верно? Вы можете выбрать точку, относящуюся к игроку (F.E: новый игровой объект внутри проигрывателя?). Это не самое оптимальное решение, но я думаю, что это может сработать. – Cabrra

+0

Похоже, вы уже предприняли некоторые попытки решить эту проблему - можете ли вы поделиться кодом для своего лучшего здесь, чтобы мы могли просмотреть его и определить, как лучше всего его правильно работать? – Serlite

+0

Я согласен с Кабра. Просто добавьте G.O. в качестве ребенка игрока и создайте для него коллайдер триггерного окна. Когда камера входит в нее, остановите ее. – jjhavokk

ответ

0

Как насчет того, чтобы запомнить смещение камеры от игрока и положение lerping с помощью transform.LookAt(target) где цель - игрок или точка перед ним?

Смежные вопросы