Jumpiness problem

Oct 16, 2009 at 7:15 AM

Hi, is there a way to remove "jumpiness" on multiple objects stacked on top of each other? This is whats going on: http://www.youtube.com/watch?v=VDnaoTk_1r4 I tried setting restitution to 0 but that doesnt fix it.



Oct 17, 2009 at 3:13 AM
Edited Oct 17, 2009 at 3:27 AM

And another question too (even more important then first)

How should I move my main character in 3D space that has a rigid body defining him? I mean should I modify RigidBody.Position and RigidBody.Orientation? Should I use RigidBody.UpdateTransform? or should I modify the velocity RigidBody.Velocity? I never done this before so bare with me :)

When I try to use RigidBody.UpdateTransform whenever player moves I get index out of range exception on line 177 in GridCollisionSystem.cs class 



.DetectCollisions(rigidBody.CollisionGroup, node.CollisionGroups[i], context);


Oct 17, 2009 at 8:57 PM

Hey Ceburek.  To remove the "jumpiness" would require, two things probably.  A better collision detector (BoxBoxCollisionDetector) and a better solver.  The collision detector produces too many collision points.  A way to limit this is too only allow one collision point per feature (edge-face) combination...or to just combine collision points that are too close to each other.  Unfortunately, I won't get to this any time soon.

To move a character in 3d space, you should try to apply a force or velocity.  Modifying Position or Orientation will play havoc on the physics simulation.

Another thing, you may want to use the SweepAndPruneCollisionSystem instead of the GridCollisionSystem.  I don't what the issue is but any chance you're removing rigid bodies from the physics system in a non-thread safe manner?