What's with the pitch, yaw, and roll?

It’s really confusing to me that UE mixes x,y,z rotations with pitch, yaw, and roll rotations. If I make a rotator in C++ for example I have to give the angles in order pitch, yaw and roll. However, in the blueprint class editor, rotations are in x, y, and z. So pitch, yaw and rolls would be y, z, and x… Not only different names, but also a different order.
Besides the names and the order, is there any other differences between these two systems?
If not, what is the advantage of using both systems in one engine? It seems so pointlessly confusing…

Heh, they used to be a lot crazier and different. At least now they are “in order”.

  • X= Roll
  • Y= Pitch
  • Z= Yaw

There is no advantage, and no difference really. It is not confusing if you just use the naming conventions, pitch, yaw, roll. Good luck!

3 Likes

Unfortunately, they are not in order. For example to create a rotator in C++ the constructor is: FRotator
(
float InPitch,
float InYaw,
float InRoll
)

so you first provide the Y, then Z, and then X…

1 Like

Yup, it sucks, maybe submit a PR :wink:

I noticed the same thing, it appears to be really silly and annoying but I’m sure there is a historical reason for it. Either way it’s just a small annoyance that you’ll get used to soon enough.

check this:

I was confused for like 3 hours and thought I was dumb, but then I realized that the Yaw is in the X position in C++ and in the Z position in the blueprint editor lol.