Проблема с движением персонажа в Unity3D от первого лица

Я реализую движение персонажа в игре от первого лица на Unity3D таким образом:

direction = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
direction = camera.transform.TransformDirection(direction);
direction = new Vector3(direction.x * spd, rigidbody.velocity.y, direction.y * spd);
if(isGrounded) rigidbody.velocity = direction;

Где camera - камера, являющаяся "головой", spd - скорость перемещения по осям X и Z, rigidbody - Rigidbody компонент, находящийся на персонаже. Проблема заключается в том, что, когда персонаж смотрит вниз или вверх, то он замедляется, то есть его скорость напрямую зависит от угла поворота камеры по оси X. Каким образом от этого можно избавиться? Заранее спасибо за ответ.


Ответы (0 шт):