[ODE] Re: trilist strategy

nlin@nlin.net nlin at nlin.net
Wed Dec 11 10:44:01 2002


On Tue Dec 10 20:25:02 2002, Russ Smith (russ at q12.org) wrote:

> geom-to-trilist collision does not make any distinctions between the
> inside and outside of an object, correct? so if a geom penetrates a
> trilist object so far that it no longer intersects with the surface,
> there will be no more contact points generated. if the trilist is the
> floor of your environment, you run the risk of dropping straight through
> it!
> 
> how can a user work around this limitation? is it a real limitation in
> practice?

Yes, this is a very real problem in practice.

My solution was to empirically find problem areas (i.e. playtest) where
objects fell through the geometry. In those areas, I "thickened" the
geometry by manually creating multiple identical copies of the geometry,
all with normals pointing in the same direction, located in thin "layers"
beneath the original geometry with the spacing between each layer being
very small. I don't think I ever used more than 4 or 5 layers. The idea
is that if something falls through the outer-most surface of the trilist,
it will still collide with one of the deeper layers (if not, add more
layers until it is deep enough for your simulation frequency, or increase
your simulation frequency). Since the layers are so close to one another,
a collision with one deeper layer will always cause a collision with the
next-higher-layer (the layers must be so closely spaced so that this is
the case). Thus the ERP pulls the geometry also up above the next deeper
layer, and so forth. In other words, the ERP will cause the geometry to
"float" back up to the top-most layer.

I'd be curious about other approaches.

-Norman