Finding Inactive rigid bodies

Started by
0 comments, last by John Schultz 18 years, 11 months ago
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
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.

This topic is closed to new replies.

Advertisement