Armature animations and collision geometry

In setting up a door object in Blender, I discovered something that seems to me a little odd:

When I export an object that is both animated (using an armature) and has collision geometry from Blender, using Chicken, the collision geometry doesn’t seem to be loaded into my game.

After a few experiments, it would seem that the following is true:

  • If I just save the collision geometry, unanimated, and load it into my actor, it collides as expected. Using the “Polyset keep descend” causes it to become visible.
  • If the geometry is animated, it does not seem to act as collision geometry, and is visible by default.
  • If the geometry is unanimated and saved along with the normal geometry, it doesn’t appear in my game, either visibly via “Polyset keep descend” or in terms of colliding with my character. However, it seems to show up when I press shift-c (I think that it was) in PView. It also shows up in the resultant egg file, as I recall.

Searches have thus far turned up little explanation, although I am admittedly rather tired and thus may have missed something. Does anyone know what’s going on, and if so, what is it, please?

Er, yeah. Sorry. This is a minor limitation–some might call it a major design flaw–in the egg loader. It uses a completely different pathway for animated geometry than for unanimated geometry, and collision geometry is supported only by the unanimated-geometry egg loader.

So, the upshot of this is, if you want to have animated collision geometry you have to import it separately, and connect it to the appropriate joints in code.

One day we intend to fix this design flaw, but it hasn’t been high on our priority list.

David

Aah, fair enough, and thanks. :slight_smile:

For my purposes I’ll probably stick to intervals, since I’ll very probably be wanting to include them in the section for which I intended this as well anyway.

geometry collisions are bad FPS drop any ways. You cant use some thing like an octree with animation geometry.

Hmm… Fair enough, and thanks - although I’ll probably end up using geometry-based collision shapes anyway in at least some cases, just stored in separate files.