Animation Sharing

What’s up guys, I just had a small revelation, and I need some help figuring it out completely.

So I’ve been using Skin & Bones for how I rig my characters. I basically create a bone skeletal structure that I like, attach them properly, and then use skin on the mesh, allowing me to select the vertices each bone uses. At one point, I saved the bone skeleton and imported it onto other characters for their skeleton, and simply tweaked their rotation, size, and position to match their meshes.

So when I finally import the characters into Unity, I can use all of the animations properly, but I’ve found that I’ve been re-animating a lot of the same poses (hit stances, jumps, running, etc.) for each character individually. I realized that I could just drag the animation from another character onto every other character I have, thus, reusing the animation. This is where my problem arises.

If I do this, then the animation from the other character’s skeletal structure makes the character very squished together when he tries to play it. So, I’m wondering if this is because the bones from one character have different position/rotation/scale than the bones of another, causing the distortion? If this IS the case, is there a way I can solve this problem while using the Skin & Bones method of rigging, or if I move over to something like a Biped & Skin technique, if the animations will play amongst the separate characters flawlessly, despite the differences in size?

Basically, what is required in order for animations of one character, despite their size, to play on another character of a different size?

Sorry for the long read, but if anyone is willing to lend me a hand it would be hugely appreciated!

The new animation system in Unity 4.0 will do that for you.

Usually games try to keep identical skeletons - this way you can amount of problems that you encounter.

As long as you keep skeleton-bone rotations the same and adjust just bone lengths, then you should be able to share animations (as long as you remove all translation curves from animation).

If you want to adjust more than just bone lengths between characters, then implementing sharing of animation is posible, but very tricky.