Search Issue Tracker
Fixed in 2021.2.X
Fixed in 2021.1.X
Votes
0
Found in
2020.3
2021.1
2021.1.0b10
2021.2
Issue ID
1321270
Regression
No
EdgeCollider2D Adjacent Endpoints result in inverted separation normals when using Collider2D.Distance
Reproduction steps:
1. Open attached project "Edge Collider Distance Normal Bug.zip" and scene "SampleScene"
2. Enter Play Mode
3. In Game View, observe the 'Left Circle' and 'Right Circle' GameObjects and their red and blue lines
Expected result: The 'Left Circle' and 'Right Circle' red lines overlap with their blue lines
Actual result: The 'Right Circle' red line doesn't overlap with its blue line
Reproducible with: 2020.3.3f1, 2021.1.1f1, 2021.2.0a12
Could not test with: 2018.4.33f1, 2019.4.23f1 (compilation errors break project)
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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note (fix version 2021.2):
Box2Ds contact creation assumes there'll be a continuing edge when setting adjacent edge points and this is normally true but for this use-case, there isn't so no contacts were created and the Unity code has to provide a best-guess fallback which is different than what would be returned without the adjacent edge. When using the Distance method against an EdgeCollider2D, we temporarily disable adjacent start/end points which resolve the low-level Box2D issue here.