I am making a custom engine for my game and I want to do my own code for animation skinning and maybe also some animation editing.
Typically it looks like file formats have just the mesh and the animation stored in separate files and both of them refer to the joints directly in the file. Sometimes they are all together in just one file. This is kind of a mess because you not not just waste a lot of space but because changing animations even slightly becomes a big pain, and any PERCEIVED difference you have in the joints leads to complete garbage. In the past while using Collada, this was a big nuisance to me.
I was thinking maybe it makes sense to store the skeleton separately from all of this. That way I can attach the animations to the skeleton and edit them at will, without worrying about the mesh details at all. And most importantly share them between multiple meshes. Especially in the sense of clothing to mount onto a character. So in code I want to be able to simply have some function like skeleton::mountMesh() and then whatever animations I play for the skeleton and any blending, will also be applied to everything mounted to it.
I guess it's an organizational problem more than anything. It seems like this will make it harder to keep track of everything. I guess if I retain a joint name in all three files then that should be enough to sort everything out, but maybe I am barking up the wrong tree.
Anyone used this approach or know of a format that does?