So I’ve been playing around with the Yaw, Pitch and Roll of the controller for sometime now.
I’m trying to have the character be able to look with different rotations based on his/her gravity direction. So for example, if the player’s up axis was +X then the controller would rotate accordingly, meaning that moving the mouse side to side would rotate the controller around the global X axis.
I ran into many issues because I wasn’t aware of what was really going on, but it turns out that the application of the Yaw component of the controller is Extrinsic, and therefore always rotates around the global Z axis, while the Pitch component is Intrinsic and rotates around the local strafe axis. This inconsistency is obviously extremely useful for the scenario in which you know that up is always +Z, however it’s proving to be limiting for what I want to do. Is there a way to scrap the whole Yaw-Pitch-Roll of the controller and always apply rotations around a certain axis to it? This way I would be able to decide whether my rotations are intrinsic or extrinsic.