Search Issue Tracker
By Design
Votes
0
Found in
2018.4
2019.4.14f1
2021.1
Issue ID
1291823
Regression
No
Moving GameObject with Box Collider Component gets stuck on the corners of other GameObjects with Box Colliders
How to reproduce:
1. Open the user's attached "Moving Blocks.zip" project
2. Open the "SampleScene" Scene
3. Enter Play Mode
4. Move the Cube GameObject with W/S keys back and forth in the Game view (See attached "1291823_repro.mp4")
Expected result: The Cube GameObject doesn't get stuck on the corners of the Box Collider
Actual result: The Cube GameObject gets stuck on the corners of the Box Collider
Reproducible with: 2018.4.30f1, 2019.4.16f1, 2020.1.15f1, 2020.2.0b14, 2021.1.0a8
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
- Fixing Message Loss in UMPE During Domain Reload
- The Editor freezes when ScheduleReadOnly of IJobParallelForTransform with dependency is used
- Text is truncated in the Inspector when the display scale is set to 150%
- CancellationTokenSource(<timeout>) has incorrect cancellation status when used in WebGL Player
- VFX property value names are cut off when properties with 'Arc' are viewed in the VFX Blackboard
Resolution Note:
The problem here is caused by the rotational DoF freeze on the player object. Once it approaches the corners of the static geometry, the solver would naturally want to apply rotational impulse to twist the player and allow some forward motion that way, however it cannot due to the DoF lock, so instead the object stays stationary. This effect depends on the magnitude of the penetration into the static geometry -- the more the overlap is, the higher the chance that the solver would also have to apply at least some of the linear impulse -- so slow movements will normally result in a 100% sticky corner. One of the ways to around it would be to have smooth geometry on the player (e.g. capsule), or have custom collision code that would add some linear force around corners to avoid the stickiness.