One way interaction - Dominance Groups

One way interaction - Dominance Groups


I have a world with large space ships, these are dynamic rigid bodies (and have to be dynamic).
I want these ship to by percieved by small ships as keyframed, is it possible? PhysX has feature called Dominance groups, is something similar in Havok, or is there any workaround for this case?

So when large ship hits another large ship, it's dynamic vs. dynamic interation. But when small ship hits large ship, it should behave like dynamic vs. keyframed, where large ship is keyframed and small ship is dynamic.

I'm thinking of using two rigid bodies per large ship and collision filters. Or maybe some collision/contact modifiers?

Thank you,

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
HavokTim's picture

Hi Andy P.--

I suggest you use the hkpCollisionMassChangerUtil to modify the apparent mass each object sees when it collides. Given two rigid bodes largeShip and smallShip, setting up the response you're looking for should look something like:

hkpCollisionMassChangerUtil* massChanger = new hkpCollisionMassChangerUtil(largeShip, smallShip, 0.f, 1.f);

Note that this util uses inverse mass, and the mass changing effect will be applied until you delete massChanger. There's a demo included in the SDK that also demonstrates how to use this util (see Demos\Physics2012\Api\Dynamics\RigidBodies\Modifiers\MassChanger).

Please let me know if you have any issues getting this to work. Thanks!


Login to leave a comment.