I’ve been trying to figure out why when I use the Set Actor Rotation function from a widget, the value that is input to the actor is different from the one I pass on.
The result is the same but I worry about the interpolation.
For instance:
If I set the rotation in this simple Bluprint to be:
0,190,0
It sets the rotation field to:
180,-10,180
It’s to do with how UE stores rotations. At some point during manipulation, one ( or more ) axis will jump 180 degrees. Basically 180 is the same as -180.
If you don’t like this ( there are few who do ), only ever add or subtract from the rotation, don’t set it, and keep the current rotation in a variable. Don’t inspect the actor itself.
Add…Rotation nodes will always work, if they are ‘local’.
In general, never use any kind of Get…Rotation node, because that will be feeding you back garbage. Just make a rotator variable and set it to 0,0,0 ( or the actual starting rotation of your actor ) and only ever change that variable. Then you can use Set…Rotation nodes.