(Solved) Ogre Exporter for animation in non-Ogre projects?

Started by
3 comments, last by BeastX 17 years, 9 months ago
I've written a generic animation system. I'm using MD5 and Ogre XML formats for test data. I can get MD5 meshes and animations to load, play, and render perfectly if I do my own software skinning. I'm having issues with using the same animation code with Ogre's XML formats. The base mesh renders correctly. But, when animating it warps and stretches like Plastic Man, Mr. Fantastic, and Elastigirl/Mrs. Incredible. I've read that it could be necessary for me to apply an inverse transform matrix from my base skeletion pose. That makes complete sense because the base mesh would already be transformed by the base pose. The question is... (for Ogre's export specifically) If the lack of an inverse transform is my problem, where should I compute and where should it be applied? Are the base skeleton's bones already transformed by their parents directly out of the file? Do I apply the inverse for every bone in the hierarchy or just the current bone? [Edited by - BeastX on July 13, 2006 10:27:04 AM]
Advertisement
If not Ogre, what other text based formats are readily available with exporters from Max that provide all the data I need for meshes, skeletons, and animations?
check for Collada format at http://collada.org
-=<KoraK>=-Skype: denis.ovod ICQ: 18945737
Collada is a really nice format that is the intermediate file standard for the PS3, has two open source APIs for easy reading, supported directly by the DCC vendors, nVidia is switching their tools to use it in the next major release, and it is a much better format holding more information than pretty much anything else you will find.
I got everything working perfectly. It took a while for my brain to consider and ssarch that Ogre stores skeletal animation keyframes as deltas from the base pose instead of the actual pose for that frame. I just converted the deltas to whole transforms and fed those to my animation system.

When drawing just the skeleton, it also wasn't registering (what I get for staying up late) that I should only transform by the base pose's inverse for rendering purpose.

After that, and some minor tweaks, it all worked as far as Ogre XML (which is only meant to be intermediate to get things working) was concerned.

This topic is closed to new replies.

Advertisement