Animationg Extra Bones in Mecanim

Hi,

This surely must’ve been asked before. I apologize, can’t find anything…

The typical scenario… extra bones to an otherwise completely humanoid. A tail, Cape, Weapon-bones… (I’ve added a few of them in blender). Imported and working well with Unity, (with some mocaps from the CMU). Now, I want to animate those extras. For instance, a swishing tail while the character fights etc…

What is the best workflow without sacrificing the advantages of a “Humanoid” controller (without having to go “Generic”)? Google says “use animation layers”… A nice step-by-step explanation would be nice, for a simpleton like me. Anyone please?

Thanks & regards

Figured out at last… Maybe someone could use whatever little bit i learned…

The “Animations” tab of the import dialogue of course has the mask->transform list which shows all the extra bones… But What I was missing was a couple of silly things…

  • the extra bone in the animation is supposed to be Exactly same name as in the model… (Unlike the standard humanoid bones, which can be retargetted). Could rename either in the blender, or in Unity…
  • To enable those extra bone animations in the mask->transform list (The checkbox next to them are off by default)… I had to enable them one by one, pressing “Apply” for each one i enable. For some reason, I couldn’t enable all of them (Tail, LeftWeapon, RightWeapon) in one go. If I recheck there, those checkmarks goes off again…

Might be useful to others (I struggled a bit on this one) :

It appears that Unity sometimes doesn’t register the creation of the Avatar mask, no mask is created when hitting apply in the inspector/animation tab, even though Create from this model is specified and the desired extra bones are checked in the mask (happened to me in 2017 b2 at least).

If so, note that you can still create an Avatar mask manually:

  • in the Project window, right click in any folder and chose Create / Avatar Mask
  • edit this new file in the inspector as expected (set the humanoid mask and/or check the Transform checkboxes required)
  • you can then call this avatar mask from your animations using Copy from Other Mask and use your new mask as source