Advertisement Jump to content

Position based dynamics second order integration with inequality constraints

This topic is 483 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts


In reference to position based dynamics survey section 4.2.5:

The second order integration method they derive works very well for conserving energy.  The original PBD integration loses a lot of energy, and it is especially apparent during rotation of groups of constrained particles. With the second order method, it looks almost perfect.

However, I'm seeing bouncing and generally inconsistent reactions when this method is paired with any inequality constraints, but most importantly, collisions. They mention that no changes are required to the inner solve loop, but it seems as though inequality constraints will have to be treated specially for this type of integration to work. I don't understand the math enough to know how or why it isn't working.

Does anyone know how to treat inequality constraints (collisions) properly with second order integration in position based dynamics?

My current attempt to fix it is to change collisions to equality constraints, and essentially pull the colliding object back towards the collision point (like a distance constraint). This works and no longer bounces. However, now the problem is how to determine when to destroy the constraint...




Edited by coderchris

Share this post

Link to post
Share on other sites

Interesting link, thanks! I just checked the course slides and they just say  "Non-smooth events (contact) need special handling" (slide 29). Sadly they don't say what that special handling is though.  It might be they don't have a solution yet themselves. I would reach out to Mueller or Bender and ask directly.

Edited by Dirk Gregorius

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!