Why does AddActorWorldRotation changes the Z rotation if it's only told to change X and Y?

I don’t understand how the addActorWorldRotation node is able to change the Z value if it only ever gets told to change X and Y. I thought these values are totally independent of each other, and it’s giving me some real headache trying to figure out what’s going on.

In my mind, the addRotation node does the same as getRotation>addValue>setRotation. But doing it like this doesn’t add any extra Z rotation if you add values to X and Y.

Can somebody explain this to me, I’m hitting a wall here.

Can you show the code?

I would like to understand the difference of both operations. On the surface, they seem to do the same thing, but the results are different.

Hi man, is a really messy argument,
here an image about a cube rotation in blender, everybody use the Quaternions and this is the normal behaviour


As you can see i rotate a cube on X, than i rotate it on Y, then again in X, or Y will cause the quaternion to “normalize” himself.
set an actor location 10 timesforsecond to a value , will leave the value intact.

Add a rotation so change the value will cause the quaternion to normalize himself to a certain value.

So its perfectly normal having problem with rotation in a large number of procedures.

There are a lot of ways to fiix it too.
For example, nesting a static mesh inside 2 other scene component, and change the rotation X of scenecomponent1 , Y scenecomponent2 , Z static mesh.
So every variable is kept separate from the other, making impossible for unreal to “normalize”

Thanks, that makes a little sense I guess. I tried to test it in blender too by dialing the values, but there you can dial one value without affecting the others - as soon you use the R-Rotate tool, and constrain it to an axis, things get wonky. Also it behaves weirdly when dialing the value in the item panel, totally differently than if using R-Tool.

The solution with the get rotation > add values >set rotation works out pretty well though, so no need to nest components to separate the axis. I was just wondering why this would be, but apparently that’s some advanced coordinate system stuff that’s going way over my head for now

Its a tricky way to get halfway to WorldRotation and Relative rotation. (the example would be a bit long so… i skip it)
Keep the orient in full control of some values.
In case of camera’s you gain the option to move the camera on the X , obtaining the zoom while not loosing all the rotation stuff.
Avoid gimbal locks.