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
- Mouse input is registered incorrectly in Custom RP when downscaling Render Target and rendering Overlay UI before final upscale
- Time.deltaTime is locked to the display's refresh rate when the built Player is moved to a Secondary Display and Windowed Mode is used
- Crash on RaiseException when importing a specific asset
- Crash on RaiseException when opening a specific project
- DownloadHandlerScript.CompleteContent is called twice when building for WebGL
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.