[ODE] Trying to create hollow objects

Megan Fox shalinor at circustent.us
Mon Mar 29 11:39:55 MST 2004


A hollow box is a collection of solid sides bounding an open region.  As
such, I see two simple means of simulating it without touching ODE source.

1.) Use a trimesh.  That said, I have no idea if the triangle normal is
taken into account when colliding with the tri's in a trimesh, so you might
or might not need to model out inner-facing triangles.

2.) Model a hollow shell using 6 flat boxes, 1 per box side.  Make them as
thin or as thick as you like.


#1 has the problem of objects warping through the waffer-thin triangles if
your timestep is too large (or your objects are too small).  I think I'd go
with #2, and make the box sides as thick as you possibly could without it
being strange, as I would rather have thick box sides than have things
warping through the box.


What we really need for this sort of case is drafted-over-time collision
solids when dealing with any collisions of small or thin objects, but I
can't imagine that's a trivial thing to add :(

-Megan Fox

> All,
>
> I'm trying to build a simulation of boxes bouncing within boxes
> within boxes.  Essentially, I need a hollow box - something that
> can properly simulate collisions from outside and within.  Since
> all the volume-bounding ODE objects are solid, I'm stuck.
>
> My best thought is to somehow attach six faces from finite planes
> to a body.  I'm note sure if there's a more efficient way or if
> someone's figured out how to do this.
>
> If I do use finite planes, I'm also concerned about objects
> passing through the plane and escaping (if the timestep is too
> small).  Seems that there might be a way to use the collision
> flags to define which objects are "external" or "internal" to a
> containing box.
>
> Alternatively, is there a simple way to modify ODE to permit
> hollow objects?
>
> Thanks,
> m1ke0
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
>
>



More information about the ODE mailing list