Я использую довольно сложный и всеобъемлющий пакет контроллера от третьего лица из хранилища активов. https://www.assetstore.unity3d.com/en/#!/content/27438
Мне нужно изменить эту строку в контроллере (или, возможно, добавить новый код), чтобы персонаж двигался в том направлении, в котором он смотрит, когда нажата клавиша перемещения вперед.
Вот строка по умолчанию, но персонаж движется относительно камеры, а не независимо:
m_LookRotation = m_CameraTransform.rotation;
А дальше строка, которой было рекомендовано заменить эту строку для достижения цели:
m_LookRotation = Quaternion.Euler(PlayerInput.GetAxisRaw(Constants.YawInputName), 0, 0);
Однако, когда эта строка заменяет оригинал, клавиша движения вперед заставляет персонажа двигаться в одном конкретном направлении, независимо от того, в какую сторону он смотрит. Пример: если я поверну направо, а затем нажму клавишу «пройти вперед», персонаж повернется в исходное направление, прежде чем идти вперед.
[Вот полный сценарий контроллера: https://docs.google.com/document/d/1B4sstqtCqRMCLuHuxEuA9I7tO_3W4aHqEZwr73uFDjY/edit?pref=2&pli=1]