We are having some problems with using the same animation on multiple characters.
We have several character models of varying height (differing scale). We also have several animation files, of just the animation, no mesh. The characters and the animation files all use the same named bones.
Everything works ok, except that the bones on the characters deform the mesh to the scale of the original bone hierarchy. Meaning that all of the character suddenly become the same height (which causes ugly deformation to the mesh).
Is it possible to load the same animation onto different sized / height characters?
We are exporting to FBX using 3DS Max. We are running Unity 2.6.1 for Windows.
No, when you load animations of one scale onto a model of another scale, the bone positions will get stretched or scrunched up.
You can scale a model up and its animations will still work though, so if you had a human model and a giant model and wanted to use the same animations, you could export the giant as the same size as the human, then scale it in Unity. This will only work for uniform scale btw.
Is there no way to load just the rotation and position transforms of the bone? We’re some ways into production so redoing the characters is an option we’d seriously like to avoid.
Anyone out there with a possible solution or having similar headaches?
I was wondering if you ever found a solution to this problem? Unity 4 does solve this problem by remapping bones with it’s new animation system. But unfortunately we can’t use that yet because our project has to be finished before unity 4 comes out.
If you animate by rotating bones - instead of by positioning them - you won’t have any issues.
I only have position animation on the root bone of my animations - the “butt” bone. Everything else is completely dependent on that bone’s position, and just uses rotation to fake movement. Scaling these characters doesn’t present any issues.
Note that you can’t animate position at all for non-root bones.