Rotate Freelook camera based on drag distance with new input system

A bit stumped on how to approach this with Cinemachine and the new input system. I might be missing something very obvious here.

For starts I read the player’s touch input with the new input system. I detect the drag delta and then feed it onto the CinemachineInputProvider for the camera to move but it’s not working as expected.

If a player touch drags slowly for 30px, the camera will rotate 3 times, but if a player drags quickly for the same amount, the camera will rotate significantly less around 90 degrees.

What we want is for the camera to move based on the distance the player has swiped (sort of like a dragging behaviour) regardless of the speed and duration of the drag.

A good example of the behaviour of what I’m trying to achieve is something like the mobile game “Play Together”.

Try changing the mode of the FreeLook axes to Input Value Gain (you’ll need to reduce the Speed way down too):

7387838--901757--upload_2021-8-4_6-38-24.png

Hi! Thanks for answering.

Unfortunately that doesn’t really solve my issue. I played around with the modes and it still does the incorrect behavior I mentioned above

Maybe my issue might be in the Input System? I’ll double check, but if you have any ideas they are very welcome!

Update:

It seems my issue might be related to the fact that the ReadValue which CinemachineInputProvider uses returns a normalized vector2 for some reason.