Search Issue Tracker
By Design
By Design in 2023.3.X
Votes
0
Found in
2021.3.31f1
2022.3.11f1
2023.1.16f1
2023.2.0b13
2023.3.0a9
Issue ID
UUM-53134
Regression
No
Rotation causes skewing when Transform is a child of a non-uniformly scaled Transform
How to reproduce:
1. Create a new Unity Project
2. In the Scene create a GameObject
3. Set the Y scale of the GameObject to a different value (e.g. 4)
4. Create a Cube as a child of the GameObject
5. Rotate the Cube
Expected result: The Cube does not get skewed when it gets rotated
Actual result: The Cube gets skewed when it gets rotated
Reproducible with: 2021.3.31f1, 2022.3.11f1, 2023.1.16f1, 2023.2.0b13, 2023.3.0a9
Reproduced on:
- MacOS 13.5.2 (Intel)
Notes:
- Replacing the Cube with a Sphere makes it seemingly not rotate
- Rotating non-uniformly scaled GameObjects without parents, or with uniformly scaled parents applies the rotations correctly
- Assigning a GameObject as a child to a non-uniformly scaled GameObject immediately skews it if their rotations do not match
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- EnterPlayModeOptions doesn't take effect if user manually modifies m_EnterPlayModeOptionsEnabled to 0
- VFX Graph Documentation dropdown button does nothing when clicked on the right side
- Required SpriteMask class (ID 331) is stripped when "Strip Engine Code" is enabled
- “Maximized serialized file backup not found” error is thrown when minimizing a window in a newly opened project
- Build stack trace contains invalid lines when building with IL2CPP using scripts with delegates containing generic types in the signature
Resolution Note:
Skewing or shearing when the parent object of a 3d transform is non-uniformly scaled is expected behaviour. It is an artifact of how transform matrices work, not specific to Unity or any game engine.
Resolution Note (2023.3.X):
Skewing or shearing when the parent object of a 3d transform is non-uniformly scaled is expected behaviour. It is an artifact of how transform matrices work, not specific to Unity or any game engine.