Search Issue Tracker

By Design



Found in





Issue ID




2D Contact Normals are sometimes incorrect when using Circle 2D and Edge 2D Colliders



How to reproduce:
1. Open the "Test" Scene in the attached "" Project
2. Enter Play Mode
3. Leave only the Error Debugging enabled in the Console
4. Observe the Console

Expected Behavior: Contact Normal delta is minimal as the Object is moving smoothly on the surface
Actual Behavior: Contact Normal delta sometimes gets large

Reproducible with: 2018.3.10f1, 2019.1.0b8, 2019.2.0a9

Note: Could not test with 2017.4 versions because the prefabs break and Collider Interface lacks functionality

  1. Response avatar

    Resolution Note (fix version ):

    Collision normals in this case are produce via a vector defined by the center of the circle and the contact point. It isn't always a surface normal (face edge) and is defined as the vector along which the collision impulse is applied. In this case two contacts are produced and the normal alters more than the threshold in degrees the project wants. Alternate strategies such as having a rolling window average of collision normal angles might help or potentially just raycasting below the circle to find the slope.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.