Search Issue Tracker
Won't Fix
Votes
0
Found in [Package]
preview - 0.1.1
Issue ID
1180163
Regression
No
[ECS] Entity GameObject Trips and Bounces over an Edge of the Collider when Collider is set to Shape Type "Mesh"
Steps to reproduce:
1. Open user's attach project "dots-mesh-phsyics-example.zip"
2. Open "SampleScene"
3. Enter Play mode
4. Notice the Sphere bounce when it is rolling over the Mesh Edge
Expected results: ECS Physics does makes a GameObject Trip and Bounce over an Edge of a Mesh Shape Type GameObject
Actual results: ECS Physics makes a GameObject Trip and Bounce over an Edge of a Mesh Shape Type GameObject
Reproducible with: 2019.3.0b1(preview - 0.1.1), 2020.1.0a3(preview - 0.1.1)
Not Reproducible with: 2018.4.8f1(0.0.12-preview.24), 2019.2.4f1(preview - 0.1.1), 2019.3.0a2(preview - 0.1.1)
Notes: The bounce only happens one time on the first encountered Edge
Comments (1)
-
VestedGamr
Aug 08, 2020 05:19
There are two MASSIVE problems with the given "solution".
1. You still get the same behavior regardless of the type of collider used.
2. There are a number of situations where a box or plane collider is unsuitable, such as a banked curve on a racetrack. In such a situation a mesh collider is the only option.
This obsession with trying to make things as efficient as possible EVEN WHEN DOING SO RESULTS IN DETRIMENTAL BEHAVIOR needs to stop. I'm sure most platforms can spare a few computational cycles to prevent this from occurring.
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
- Some UXML Template Asset foldouts appear enabled when all fields inside are disabled
- URP Terrain Demo crash on burst_signal_handler after Generating lighting
- Project window button icons are poorly visible and their shades differ in Light theme
- Automatic LOD fails and SRP Batcher incompatibility occurs when using spline-based quad-topology meshes
- Editor crashes on D3D12GetInterface when repeatedly enabling and disabling 256 text components
Resolution Note:
This behavior is a consequence of the approach we have adopted to continuous collision detection, in order to produce optimal performance. (It is the same as the Speculative Collision Detection in classic GameObject Physics, visible about halfway down the page at https://docs.unity3d.com/2018.3/Documentation/Manual/ContinuousCollisionDetection.html) It is possible to use the contacts debug visualization mode in 2019.3 beta to see how the contact forces are applied when the ball moves over the edge to the next triangle in the mesh.
For a large flat surface like this the user should opt for a box or plane primitive shape instead. In cases where mesh colliders are required, the user can check the ModifyNarrowPhaseContacts example in the sample project to see how it is possible to mitigate this behavior. (https://github.com/Unity-Technologies/EntityComponentSystemSamples/tree/master/UnityPhysicsSamples/Assets/Demos/5.%20Modify/Scripts)
If this problem arose in some other specific use case where the user would like guidance, I would invite them to come to the forum to discuss it: https://forum.unity.com/threads/unity-physics-discussion.646486/