Hi, thank you for clicking on my question!
So here is how my code looks like currently:
func _input(event):
if event is InputEventMouseMotion:
rotate_y(deg2rad(-event.relative.x * mouse_sensitivity))
Head.rotate_x(deg2rad(-event.relative.y * mouse_sensitivity))
It works fine on a flat surface, but on a spherical one, the right and the left rotations are gradually switched, while the player walking toward the opposite side.
Here is a video of my problem (It's hard to demonstrate it well):
https://youtu.be/_NaoIc51Ck4 (I always move the mouse the same amount)
Any help is greatly appreciated!