Вращение джойстиком, сохраняя угол поворота

Я использую бесплатный ассет 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). Не понимаю, как повернуть камеру вторым способом, сохранив поворот перед следующим перемещением джойстика.


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