Avatar Mask does nothing to extra bones in Unity 5

So in Unity I’ve been working on a game for about a year now and everything was working fine until my team jumped to Unity 5. Avatar mask is not working as far as I can tell.
I’m using humanoid as the rig selection.

I created a rig in maya using AB auto rig.
-Export to fbx which includes Geo and Skeleton, which is used as the base avatar for humanoid
-Export animations as fbx’s with just the animation baked onto the skeleton
-all the animation fbx’s use the base rig avatar in unity.

This works for the bones that are re-targeted to humanoids skeleton, but any extra bones are not being used. I’ve created Avatar masks in the individual files to no avail and created Avatar masks and having the animation files copy that avatar mask but nothing is changing the animations to use the extra bones. The avatar mask in the animation tab should let me control extra bones to be animated or not, but whether or not I use the Humanoid mask or Transform mask the extra bones are not being used in the preview or the game itself.

The interesting thing is that if we jump back to Unity 4.2 when the check box for keep additional bones was used instead. The rig and animations all work, but not in Unity 5.

So unless I’m setting this up incorrectly (which I highly doubt at this point…I hope) I have no idea how to solve this. Any help is welcome. I really need to solve this issue as it pretty much breaks animations across the entire game.

-Keby

Have you attempted a completely new import of just the character in Unity 5? I have not gone through this process yet with Unity 5 but several dev’s have experienced weird anomalies (with lights and colliders etc) updating from 4x.
May attempt a completely bare import of the character - just to check if it’s in the update process or not.

One other question, assuming you are using mecanim state machine - - are the separate (masked) bone animations on an additive layer?

This is perplexing

Are the animations set to humanoid?

A couple screen shots of the inspector with the rig and animation tab exposed may be helpful.

Hi,

I have a related issue… I’m using Unity 5.1.0p1 and Motion Builder. I have a model (Aragami) and some animations like Aragami@Kill6 with some animated extra bones. I’m using the avatar from this model (AragamiAvatar) for the animation rig in all the animations.
I tried to select the extra bones in the import settings (Animations->Mask->Transform), and also I created a mask to do that, but none of this two make it work.

Then I tried to import a new fbx with the model and the animation together. Using the same AragamiAvatar for the rig and selecting the transforms (or using the mask, both ways work) the extra bones are animated.

I think the problem could have happened in the export/import pipeline, or maybe is a Unity bug. You can see the difference in the fbx file below.

Any thoughts on this?

I really appreciate any help you can provide

Hi guys, sorry for taking months to respond.

I ended up getting through this problem with a duck tape solution as I call it. I think it might be some unity bug because I got through this by have geo skinned to the extra bones I needed to move IN the actual animation fbx rather than just being an fbx with only joints.

I have a master Avatar that all animations reference for the geo.

The animation fbx files do actually have geometry in them, but they are using the master Avatar for their humanoid definition. It’s like unity wouldn’t recognize the joints unless there was a skinmesh renderer attached to them.
I can only chalk it up to being a bug right now since I can’t get it to work any other way. It’s a pretty silly solution, but it works.

So try skinning a poly or cube to the extra joints you need and export them with the skeleton in the same animation fbx file.

Wow Keby, I didn’t expect that solution… really imaginative :slight_smile:

By the way, I posted the same question in this other thread with a Mecanim Dev. replying, maybe he can show us something.

Thank you

1 Like