Per-polygonal collision examples do exist, however it would be pretty hard to adapt the existing engine to use them (full disclosure: I haven't seen the source, but I do program). This is made harder by the fact that in addition to creating and storing collision data, all other collision systems in the game (e.g. bounding boxes, tires, scrape-point-based truck bodies, and even other complex meshes) would have to be modified to be able to interact properly with a mesh-based collision hull. This actually requires some pretty advanced knowledge of physics-based mathematics to figure out.
Now, that being said. There are two things that may in fact be worth looking into, although don't quote me on this as I cannot speak for O Great Leader Fila. The .sit files contain what appears to be unfinished support for cylindrical collision primitives, which are at least not boxes or wedges ("ramps"). The other thing: Has anybody ever played with the "Collide (Facing)" object type before? It's really weird. Maybe I'm mistaken, but it almost feels like its collision boundary is either cylindrical or some kind of concave hull. I never tried using it for trees (one set of polys for the leaves and one set for the trunk, I assume, is what it would take) but it might be interesting to look at the code for that.
|