Search Issue Tracker
By Design
Votes
0
Found in
2020.3.45f1
2021.3.20f1
2022.2.8f1
2023.1.0b6
2023.2.0a3
Issue ID
UUM-29082
Regression
No
GameObject Position changes when its child Collider is rotating
How to reproduce:
1. Open the project “IN_32375”
2. Enter the Play Mode
3. Select Scene view
4. Select the “Cube” GameObject in the Hierarchy
5. Observe the Transform Position values in the Inspector
Expected result: Position doesn’t change
Actual result: Position changes
Reproducible with: 2020.3.45f1, 2021.3.20f1, 2022.2.8f1, 2023.1.0b6, 2023.2.0a3
Reproducible on: Windows 10 Pro
Notes:
- Reproducible both in Player and Editor
- Doesn’t affect GameObjects with Mesh and Wheel Colliders
-
Augustinas-Simkus
Mar 07, 2023 09:21
Hey, I would advise each moving part to have its own Rigidbody. That's because Rigidbodies are supposed to be rigid, they represent a single non-deformable physical body. Deforming it every frame is a bit like fighting the system :D
If the movement of the child needs to be constrained in some way, you can use joints to enforce that. For example, in the provided project the child was rotating around one axis, it could be connected via a Hine Joint to the parent to enforce that and the motor of the joint could be used to make that constant rotation happen (as opposed to rotating the Transform each frame).Best regards,
Augustinas -
fdg
Mar 06, 2023 18:35
Hi. Thx for checking this out. Please could you advice what to do in cases where child of an entity needs to be rotated and would need to have collider also?
Would you advice Having rigid body on it also? (heard that this is not very good idea)
Or maybe its better solve it by some kind of physics joint?
Or any other idea?Regards
Greg
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
- [OpenGLES][XR] Zooming in on the camera's URP opaque texture causes "double vision" on Quest in OpenGLES3
- “[Worker0] Could not generate preview image“ error when opening macOS native plugin in the Inspector with Architecture to build for set to ARM 64-bit
- [iOS] Application.absoluteURL is empty on Awake/Start when opening via deep link with Splash Screen disabled
- Crash on MemoryManager::Deallocate when rapidly calling Addressables.LoadAssetAsync
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
Resolution Note:
The problem with rotating a Collider (that belongs to a Rigidbody) every frame is that the mass distribution is constantly changing and the center of mass needs to be recalculated each time. The floating point imprecisions from these calculations stack over time and the whole thing slowly drifts away.
Workaround/solution: rotate the Rigidbody, not the Collider to avoid center of mass drift each tick.