Rotate axis independently of blueprint mesh

I have an aircraft in a blueprint like this:

Right now, the pitch and roll are shown correctly here. However, I want to put this blueprint on a Cesium map and I have to let it point to true north, which is at about 88 degrees in my case. This causes the pitch and roll to be switched and thus the whole thing to be incorrect. Eventually, its all about the axis direction: if the axis is directed to true north, then the direction of the aircraft will be set according this true north. So, is there a way to rotate the axis independently of the aircraft mesh?

If I understand correctly, the below will help:



Tutorial here:

How To Change The Pivot Point Of Any Mesh (Unreal Engine 5 Tutorial )

In Top Orthographic view rotate the fuselage clockwise 90 degrees so it aligns with the Root components X and Y.

In game you would Rotate the Actor itself to point to true north. Fuselage will follow.

This looks like a good idea. First of all, for some reason when I rotate on the z-axis bij 90 dergrees and click “Accept”, it does not change anything. Why this is happening is unclear. The second thing I’m worried about is that the aircraft movement over the z-axis are determined by the heading, which is depending on the true north. With its nose over the x-axis (which is 0 degrees from the true north) this might become an issue if the axis is changed. I really want to make sure that the roll and pitch are done over a certain angle (the aircraft is 89 degrees rotated).

For example, if I rotate the aircraft like this:

I would expect the pitch and roll to rotate with it (local axis), but for some reason it still uses its global axis to pitch and roll.

The method I suggested allows you to change the default origin of any or all transforms, except scale of course. You won’t see the change until you drag another instance of the same mesh (actor) into the view port, after confirming changes. Essentially, it changes the mesh’s alignment relative to the red, green, and blue arrows in your picture above.

If you need data about how far your actor is from its origin, could you not just add a small, invisible scene component to your actor, which always remains true (true in the navigation sense)? And, just perform calculations (dot product) between their forward vectors or something?

Lastly, you might find that someone has already tackled these issues in tutorials:

UE5: Fighter Jet tutorial| Part 1- Flight and take-off

I cannot get this to work, even though the rotations do happen correctly. I think I have to explain a bit more on where the data of the rotations come from, my apologies.

I have a CSV file with heading, pitch and roll (all in degrees). Pitch and roll are easy, but the heading is a bit different. I have the aircraft as an actor in Cesium, which uses true north to divine rotations. Because of this, I need to make sure that the aircraft is pointed to the true north at the very start. When I set the aircraft intop the ViewPort, it looks like this:

It is clear that this is not good, so I need to rotate the aircraft to match the true north. The aircraft is now moving sidewards (where the right wing is leading). One way is to simply rotate the aircraft in the blueprint itself (by 90 degrees):

It does work concerning the heading, since where the right was before there is now the nose. However, this causes the issue that I have now: while heading works correctly now, pitch and roll are still done over the “old” axis system, so these are switched in the visualization.
Another way that I just learned here is to rotate the axis using the pivot:

This should work: the axis are now set correctly, so the pitch and roll are now good. Of course I removed the blueprint and added it again, as you suggested before. However, the aircraft is once again moving with its nose leading and pitch and roll are once again switched, so I’m back to square one.

No matter what I do: or the heading is 90 degrees off, of the pitch and roll are 90 degrees off. I think it has to do with on which axis system the whole thing rotates.
(p.s. I used 90 degrees here for clarity, the actual angle will eventually be like 88 or 89 degrees. Hence, switching those values in the blueprint will not work).

I hope I made it a bit more clear on where my problem lies exactly.

You rotate the ACTOR, not the child mesh. The mesh will follow the actors rotation, as will all child components. So if you align the mesh with the actors rotation it should work out of the box.

I can do a video demonstration if needed.

You mean to just rotate the actor as it is in the Cesium world right? Leaving the blueprint mesh as it is? I did that, still moving sidewards. Can you do a video demo to see if I’m missing something?

You have to align the mesh to face the actors root component X axis.

Yes, I’ll do a video.

Thank you! I will wait for that video then.