Revision 223 - Elastic Stacking

Discuss any Chipmunk bugs here.
Post Reply
rje
Posts: 9
Joined: Tue Jan 08, 2008 4:54 pm
Contact:

Revision 223 - Elastic Stacking

Post by rje »

Scott,

In what situations does the revision 223 fixes help stability? There seems to be lots more iterations through the arbiters, so I thinking about the performance impact as well.
User avatar
slembcke
Site Admin
Posts: 4166
Joined: Tue Aug 14, 2007 7:13 pm
Contact:

Re: Revision 223 - Elastic Stacking

Post by slembcke »

Basically it separates the solving of collisions and contacts similar to this paper: http://physbam.stanford.edu/~fedkiw/pap ... 003-01.pdf

Basically it runs the impulse solver before and after integrating the velocity. When running it before, it does so normally. After the integration, it treats all collisions as inelastic. This prevents the small amounts of velocity added from integrating gravity or other forces from causing any bounce.

So you are correct that it requires more solver iterations, but only when you are using elastic objects. I considered this an acceptable tradeoff. Implementing this however has lead me to believe that there is utility in allowing pluggable solver loops to be used in cpSpaceStep(). This would allow you to use the old behavior if it worked better overall for you.
Can't sleep... Chipmunks will eat me...
Check out our latest projects! -> http://howlingmoonsoftware.com/wordpress/
Post Reply

Who is online

Users browsing this forum: No registered users and 14 guests