Jump to content
  • Advertisement
Sign in to follow this  
Boldt

Finding Inactive rigid bodies

This topic is 4774 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

I'm currently working on a rigid body simulator and my next step is to implement activation/deactivation of rigid bodies when they stop/start moving. I have been searching for articles on the subject but has not really been able to locate some useful ressources. My main idea is to attach an sleeping constant to each rigid body and when it is below a given threshold the body are deactivated. A body can then be activated by collisions with other active bodies. Moreover I thought about having three states for a body, namely ACTIVE , NotMoving and sleeping. Does some of you have links to useful stuff regarding this subject or any ideas Best Regards Niels

Share this post


Link to post
Share on other sites
Advertisement
Track linear and angular velocity (I have read papers that discuss tracking total kinetic energy. Tracking velocity is simpler). When both are below thresholds, decrement a counter (else set the counter to a predefined max value). When the counter reaches zero, remove the active object from the active list (and place on the inactive/static list). This counter style requires a fixed deltaTime integrator.

Waking sleeping stacked/touching objects is more complicated. Tracking broken contacts or examining nearby objects during wakeup is required (otherwise, a lower object can be pushed from a stack and the upper objects will not wake up. Similar concept for leaning objects). Thresholds can also be used to keep slight perturbations from waking sleeping objects.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!