A child actor rotates incorrectly if the parent has negative scaling on one axis and more than 1.0 scaling on another. The child/parent relationship was created through the World Outliner.

Licensee Description:

The transformation of actors seems to be incorrect in the editor for actors attached to parents that have non-uniform scaling.

Reproduction Steps (everything here is using relative transformations):

Add an actor to a level. (Let's call this ActorA.)
Add another actor to the level. (Let's call this ActorB.)
Attach ActorB to ActorA. (e.g. via the World Outliner.)
Set ActorA's scale to (-1.0, 2.0, -3.0).
Attempt to rotate ActorB with the editor widget in world-coordinates, about the z-direction (maybe ~40 degrees) and then the y-direction. Observe the rapid and discontinuous change in rotation values. Further, after experiencing the issue, attempt to reset the rotation of ActorB back to default and observe that the result will contain non-zero values.
I saw some related issues regarding blueprint actors, but I can reproduce this with (for example) an empty actor and a regular static mesh actor.

Steps to Reproduce

1. Open QA-Game
2. Drag a static mesh actor into the world 'Actor1'
3. Drag another into the level 'Actor2'
4. In the World Outliner, drag 'Actor2' onto 'Actor1' to create a parent/child relationship
5. Select 'Actor1' > In the Details panel, set the scale to X -1.0 / Y 2.0 / Z 1.0
6. Select 'Actor2' > Press the W-key to bring up the Rotation gizmo
7. Attempt to rotate 'Actor2' on all axis's

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-40049 in the post.

Login to Vote

Won't Fix
ComponentUE - Gameplay
Affects Versions4.
Target Fix4.18
CreatedDec 27, 2016
ResolvedJun 7, 2017
UpdatedJun 11, 2019