Вращение джойстиком, сохраняя угол поворота
Я использую бесплатный ассет FPS для Unity, с управлением для смартфонов. В методе CameraRotation я пытаюсь настроить камеру. В оригинальном коде, при повороте джойстика камера продолжает двигаться до тех пор, пока пользователь не отпустит джойстик. Мне нужно сделать так, чтобы когда пользователь перемещает джойстик, камера поворачивалась один раз и не продолжала двигаться дальше. что-то похожее на использование тачпада на ноутбуке для управления.
Оригинальный код такой:
_rotationVelocity = _input.look.x * RotationSpeed * Time.deltaTime;
// rotate the player left and right
transform.Rotate(Vector3.up * _rotationVelocity);
Я пытаюсь создать поворот так:
// Calculate the rotation based on the input
Quaternion targetRotation = Quaternion.Euler(-_input.look.y * RotationSpeed,
_input.look.x * RotationSpeed, 0f);
// Rotate the transform immediately
transform.rotation = targetRotation;
В первом случае камера постоянно крутится, если удерживать джойстик в одном направлении, а во втором она вращается как мне нужно (пользователь двигает джойстик, камера вращается вместе с перемещением и потом перестает вращаться). Во втором примере, когда я пытаюсь двигать джойстик повторно, камера возвращается к начальной позиции (из-за значения _input.look). Не понимаю, как повернуть камеру вторым способом, сохранив поворот перед следующим перемещением джойстика.