Hey guys!!! I hope I shed some light on the subject...
I was checking the thread and notice that none ever mentioned Maxon's Cinema4d. The current release I think is R10...
you see Cinema comes with a directx exporter just as the rest of you mentioned. and it hold on its on just as long as you stick with the rules in directx meshes. The included exporter does not however export animations... but it good enough just for static ones. If you want to export x animations.... there a way and I'm quite sure you guys might love the result.
First...
download the Xport 1.22 plugin for cinema 4d... you can download it here
http://www.squishers.de/code-gardeners/xport/XPort_v1.22_c4d9.0.rarthe site also has a simple guide on how to use the plugin and its pretty intuitive to use.
and you're pretty much set if you've gone to this point. But wait there's more.
the plugin will allow you to export your animation into directx but the catch is, you may only export 1 sequence of animation. and its pretty much of no use if you can't load up a single directx hierarchy with various sequences and later be accessed accordingly by your API. However this may be enough if you require simple animations.
To load up a single hierarchy with as much animation as you wish... what you will need is download DirectX SDK. The package includes a very useful tool of theirs it called... well
"Mesh Viewer" What Mesh Viewer does is that apart from simply opening up and rendering your images in real time, it also allows you to import an external .x animation into a current x file.
Still with me? The problem with this though, or maybe I haven't got around this yet, is that once you import an additional animation sequence. Mesh Viewer doesn't assign a unique name to the sequence and hence it won't be accessible either in the API. What i did, I opened the newly appended animation file and renamed it from the inside... You will find something like a function that names this sequence. Saved it then opened it again in mesh viewer to check if it is working.
and that's it... so to summarize the workflow using this technique...
1.) Animate your model
2.) Export it to directx .x file using the plugin you downloaded for cinema4d
to add another animation sequence:
1.) start a fresh animation starting from a desired starting pose
2.) export the animation but this time... you will be just exporting the bones since you already have the initial mesh with same bone structure (don't worry in case you're not using bones to animate your mesh, the Xport plugin also offers another xport feature - as i said is intuitive you'll get the hang of it)
3.) Open Directx SDK's Mesh Viewer
4.) Load your Initial Mesh
5.) Import the .x animation file you wish to add to the initial mesh
6.) Save it
7.) test if it worked by reloading the updated initial mesh
8.) Open the .x file notepad and find the function that names the animation sequence and name your sequence.
9.) Save and test it again. by selecting the animation sequence from the toolbar of Mesh Viewer. If you see the unique animation ID you just made.... then tadah! you're done
I hope this help
right now I'm in the process of making a tutorial and guide site for this method that includes the files for download I hope I don't get too lazy though. I'll update anyone who wish for it.
Anyway please reply if it worked for you. Because It does for me.