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
- Error “Shader error in 'YSCloudCover': call to 'tex3D' is ambiguous at Assets/YSCloudCoverText.shader(606) (on d3d11)“ is present when compiling tex3D shader with DXC
- Placeholder asset is not loaded with Advertisement Legacy sample when using the latest version of the package
- Addressables content build fails but the Player build is successful when building a development build
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
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.