Concave trimesh contact points reduction
Posted: Mon Jun 04, 2007 4:49 am
Is there any standard way to do contact points reduction for concave
triangle meshes?
In my simulator, the board-phrase/middle-phrase collision module can
provide me the overlapped triangle pairs, and my problem is how to
find the reasonable/reduced contact points for further collision
response (I want to switch to Bullet, but you know #"# .. ).
In Bullet, for convex primitives, libCollision uses btManifoldPoint &
btPersistentManifold to maintain the reduced contact points. However,
since the cache size is limited to 4 (which is quite reasonable for convex
mesh), it is difficult to handle concave-concave triangle meshes
contact points. It seems that ODE (the new tritri algorithm contributed
by GIMPACT's author) get the contact point approximations using some
special rules. And some other engines even ignore concave triangle
mesh for simplicity & speed.
In my simulation, the default collision shapes are exact concave
triangle meshes (unfortunately ) and can I extend the method used
by Bullet to handle such a situation (say, change cache size from 4 to 16
or 64) ? If not, must I dig into GIMPACT library to get the necessary
information for contact point reduction?
Thank you for your time.
triangle meshes?
In my simulator, the board-phrase/middle-phrase collision module can
provide me the overlapped triangle pairs, and my problem is how to
find the reasonable/reduced contact points for further collision
response (I want to switch to Bullet, but you know #"# .. ).
In Bullet, for convex primitives, libCollision uses btManifoldPoint &
btPersistentManifold to maintain the reduced contact points. However,
since the cache size is limited to 4 (which is quite reasonable for convex
mesh), it is difficult to handle concave-concave triangle meshes
contact points. It seems that ODE (the new tritri algorithm contributed
by GIMPACT's author) get the contact point approximations using some
special rules. And some other engines even ignore concave triangle
mesh for simplicity & speed.
In my simulation, the default collision shapes are exact concave
triangle meshes (unfortunately ) and can I extend the method used
by Bullet to handle such a situation (say, change cache size from 4 to 16
or 64) ? If not, must I dig into GIMPACT library to get the necessary
information for contact point reduction?
Thank you for your time.