question about touching objects

Jan 22, 2008 at 11:21 AM
If I create two immovable box objects that are touching flush against one another, and a sphere object rolls across, the sphere will almost always catch an edge and get bounced up. Is there some sort of tolerance parameter I can tweak that will help solve this problem to make the sphere roll more smoothly across seams like this?
Jan 23, 2008 at 5:29 AM
I also get this problem with the TriangleMesh. If there are a low number of polygons, the sphere will hop as it crosses a polygon edge. If there are a lot of polygons, it becomes unstable. Some parameters that I was playing with were the CollisionTolerance, AllowedPenetration, and CollisionSystemGrid (x,y,z,dx,dy,dz) but I am not sure what I'm doing. Could you explain how to choose how to set those values (even if they aren't going to help with my original problem.) Thanks.
Coordinator
Jan 24, 2008 at 9:52 AM
do you also have the problem with the latest source release?
Jan 25, 2008 at 12:14 AM
I tried with the latest code and there is still a noticeable hop. I am working on a marble rolling game where the player controls a sphere (angular velocity is added) and I have experimented with boxes and triangular meshes as platforms that the marble can roll on. This problem can be seen if i have two 5x1x5 boxes right next to each other and i roll from one onto the other. As the marble crosses the bordering edges, it hops.

the ball moving right would hop up at the starred spot even though there is no gap between the two 5-dash boxes

-> o
-----*-----
Coordinator
Jan 27, 2008 at 9:12 PM
I tested it... and the good news is... i have the same problem. Sorry, i don't have the time at the moment to have a look what goes wrong. Maybe you have - try the same with the orig JigLib.
Sep 27, 2008 at 9:44 PM
Has this issue gotten any more attention? I'm having the exact same issue and have no idea how to resolve it. I've made the effect somewhat less noticeable by tweaking the iterations for collisions and things, but it's still very noticeable.
Sep 29, 2008 at 8:14 PM
From my testing I believe the issue resides in the SphereMeshCollision Method, and the collision normal/collision depth that it returns/calculates.  Quite noticable if you test with a bunch of spheres on a triangle mesh (plane/bowl/etc) anything where the spheres are suppose to come to rest after a while, you'll notice the large majority of them never do because they are bouncing off of things that they shouldn't be.  Cubes do tend to act better with there mesh interactions, not 100% though.
Coordinator
Sep 29, 2008 at 9:25 PM
the issue was already solved - search this forum for more details
Oct 7, 2008 at 8:52 PM
This issue is not what I would called solved, the one line comment makes it slightly better, but SphereMeshCollision still has many issues.  Turn on wireframe and draw some of the normals that are coming out of that method, it's all over the place.  I don't mean to be negative, just saying it's not fixed.
Jul 12, 2010 at 7:59 PM
Edited Jul 12, 2010 at 8:34 PM

Did this issue ever get resolved? I have noticed that the issue does not manifest on larger objects, perhaps this is why only few people have found it. In the case of the original poster, I am assuming his objects were to scale (marbles) which are relatively small. I am getting the same exact issue on the latest version of the code. Just curious if someone has already fixed it.

[Edit]: I managed to get around this problem by scaling down ( * 0.1f ) the "CollToll" variable in the PhysicsSystem.cs file. Worked for me.