Почему Camera поворачивается иначе, чем Player с одинаковым кодом в разных скриптах? - PullRequest
0 голосов
/ 24 декабря 2018

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

    float h = PlayerMovement.horizontalSpeed * Input.GetAxis("Mouse X");

    transform.Rotate(0, h * Time.deltaTime * 60, 0);

(для камеры) и

    float h = horizontalSpeed * Input.GetAxis("Mouse X");

    transform.Rotate(0, h * Time.deltaTime * 60, 0);

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

Я пробовал разные анимации - ничего не получалось.

Обновление: Если нет твердого тела и коллайдера к нему нетработает отлично.Но они мне нужны.

1 Ответ

0 голосов
/ 24 декабря 2018

удалите это:

float h = HorizontalSpeed ​​* Input.GetAxis ("Mouse X");

transform.Rotate(0, h * Time.deltaTime * 60, 0);

и перетащите камеру в игру.как ребенок игрока, камера будет следовать и поворачиваться с игрой.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...