Overlayed Facial Animation

Hello there,

I am wondering how to overlay a facial bone based animation onto my body animation.
I’ve searched all along this forum, Unity documentation and the internet whithout success.
The character’s body is animated with Mecanim, but the facial animation doesn’t work, whether I use Legacy, Generic or layered system.
I’d like to do it without any plugin since the production on the game I work is quite advanced and won’t allow me to do that.
Is there a simple way to achieve this?
Thanks in advance for you help,

Just found the solution!
There is the workflow I’ve set:

The idle animation is set on Humanoid and the avatar is defined from this model.
The facial animation is also set on Humanoid, but there you define the avatar from the Idle animation.

Then I pick the avatar from that Idle animation and plug it into the character Animator component in the hierarchy.

The next step is to create a double layer in the Animator controler view, on the first one I have the facial animation, the second one gets the Idle animation. Blending on override, weight set to 1.

There you go, the body and the face moves!

Hello,

I’m looking for another way to integrate the facial animation, it works great but seems pretty heavy for the project I work on, since I have a few state machine for a bunch of characters…
Do you know some other techniques to achieve this without the layer system?
Thanks again!

If I understand you correctly, that’s exactly what layers are designed for. Set the weight on both layers to 1, and use an AvatarMask so the face layer only controls the face bones. This allows the character to perform facial animation independent of whatever the body is doing (e.g., smile while idle, smile while walking, etc.).

Thanks TonyLi for your response,
The process you describe is the one I’ve setted after some tries in Generic type or Legacy… I was researching another lighter way to bring my facial animation onto my character’s body (which has a complex state machine) but nevermind, I guess that’s the best way to achieve this without plugins…!
Thanks again,