Third Person Flight Roll

SaultheMercenary
Mon, 21 Jul 2025 00:53:18 +0000
Blueprint

I’m working on getting a third person character to be able to fly and have 6DOF movement. So far, I’ve gotten past gimbal lock using quaternions and I can successfully get the character to roll left and right and get the camera to roll with them.

However, the problem comes when I try to move the character’s yaw and pitch using the look input, it seems that the look movement is tied to the world rotation.

For example given the following:

At the start of flight we have 0 rotation and player up and left matches the world up and left.

I will then press the left input and rotate the player -90 (to the left):

The result is that the player rotates -90 and the goes along with it, so the view from the camera matches the rotation of the player.
However, seen by the world up and left lines, when I attempt to move the look input pitch and yaw, this movement is still tied to the ‘world’ rotations (which has not changed), instead of being tied to the player’s new rotation.

Any advice or direction to tutorials would be of great help! Thanks in advance!

My blueprints are as follows:

Event Tick

CameraBoom (Spring Arm) settings

Note: I’ve tried disabling Use Pawn Control Rotation right after disabling Inherit Roll. This results in fixing the camera movement issue, allowing the camera’s pitch and yaw to rotate with input, however the pitch and yaw of the character’s mesh now rotates with the world instead of locally, so fix one problem create another. I’m thinking the ultimate fix could be here, but I’m not seeing it so far.

CalcTargetRollAngle

XAxisInput Set

17 posts - 4 participants