Hey guys,
I currently have the following issue with a ball rolling over a given surface: when it rolls over an edge at higher speeds (like 1 unit / s) it will bounce into the air instead of just rolling over the edge (see Attached image)
For testing purposes I created a flat surface using Blender and in another test case created a flat surface out of 2 standard boxes in Unity 3d, same behaviour when “hitting” an edge. This also happens with smoother surfaces as shown in the sketch…
At lower speeds this does not happen.
Changing collision detection or movement modes on the rigidbodies does not help.
Red line showing actual path, dotted line is the expected path.
Any ideas on how to prevent this behaviour?
1 Like
Hey
I have this exact problem with my golf game.
As you can see below the floor is made up of multiple faces.
Some things that I messed around with include:
- Changing the Default Contact Offset to a lower value in Edit>Project Settings>Physics
Don’t go below 0.000001 or you will get jitter. This worked to remove about 90% of the problems, but still causes issues.
- Using a capsule collider instead of a sphere collider. I dont know the performace impact of doing this on the game.
The combination of these two ultimately fixed most of the problems that I had.
I have only been using Unity for a few years, so there could be better ways of fixing this.
This being said. This isn’t an ultimate solution, i’m still waiting to see if unity has a fix for the sphere collider, but hopefully it helps you until that happens, lets hope
Ill let you know if I find anything else. Goodluck.
2 Likes
Curious to see if you found any better fixes, currently looking into the same.
Still have issues here and there, It doesn’t matter what shape you use either.
Using a cube will get caught on almost everything, I don’t know how other people get past it.
This game got green-lit and is on steam, we get people telling us about weird collision issues.