Rotation in x, y axises follow Right Hand Rule

The UE4 Coordinate is Left Handed.
The z axis rotation seems correct, it follows Left Hand Rule. But x, y axis rotations follow Right Hand Rule.

Am I wrong?

I read the FRotator and FQuat codes.

The convertion codes in UE4 flip X, Y’s sign to negative according to original expressions.

I guess uses the origional expressions X, Y sign would solve these issues.
Then need to flip old scene’s FRotator’s Roll and Pitch sign.

Original Expressions

	FQuat RotationQuat;
	RotationQuat.W = CR*CP*CY + SR*SP*SY;
	RotationQuat.X = CR*SP*SY - SR*CP*CY;
	RotationQuat.Y = -CR*SP*CY - SR*CP*SY;
	RotationQuat.Z = CR*CP*SY - SR*SP*CY;

It is clearly that
X, Y’s signs have been fliped.

The conversion from Quaterion to Euler Angle is the same. X, Y components in Quaterinon have been fliped, too according to orignal expressions.

Let the Axis position direction facing you, so clockwise and counter-closewise are defined. Or use left hand thumb face axis positive direction and then other four fingers direction is the positive (clockwise direction, left handedness rotation). If follow your right hand then it is counter-clockwise direciton, and right handedness rotation)

/** Looking up and down (0=Straight Ahead, +Up, -Down). */
float Pitch;

/** Rotating around (running in circles), 0=East, +North, -South. */
float Yaw; 

/** Rotation about axis of screen, 0=Straight, +Clockwise, -CCW. */
float Roll;

The comments in FRotator.
It is clealy right handed rotation rule.

Pitch and Roll are fine.
But Yaw is not correclty implemented in codes. It actually behavior in left hand rule.

Also Left Handed Coordinate System can have Right Hand Rotation Rule. It will be fine.
But I prefer Left Handed Coordinate with Left Hand Rotation Rule.
But even Right Handed Rotation Rule is not correctly implemented in UE4.

Hi Henry Read -

Thank you for your report. I’ve asked our developers to look into fixing this particular inconsistency in UE-19208. As we investigate, I will keep you informed here.

Eric Ketchum

Hi @Lovecraft_K ,
Has this been solved?
I have just tested it and it seems that Rotations around the X or Y Axes still follow Right-Hand-Rotations and the Z-Axis follows Left-Hand-Rotations.

Is this a design decision? I noticed that quaternions seem to be internally working with a completely right-handed orientation.

1 Like