Adaptive Skin - Blend Shape Facial Rig Retargeting

Hi all,

I’ve just finished a nifty tool which allows me to transfer a Blend Shape Facial Rig from one character to the other by using an adaptive mask which recognize facial features and transfer the blend shapes to a target face.

This solution saves many many hours of manual Blend Shape creation and allows for a very quick sharing of the facial rig across multiple ( humanoid ) characters.

The Blend Shape rig is based on Faceware expression sets since that is the software I’m using for facial animation.

https://youtube.com/watch?v=4TMHrmyIAo4

Soon I’ll upload a couple of videos showing the workflow and the same animation applied to different retargeted characters.

Cheers :slight_smile:

Sweet! I’m pretty sure they did this in GOW / Uncharted Dev (can’t remember which one!)

This is awesome Nicolas! Great work :slight_smile:

Thanks guys :slight_smile:

The system is heavily inspired by the GDC2011 by good old Jeremy Ernst from Epic.
I actually asked him if he could share his system to the community, but because of the change of ownership of GOW the sharing could cause legal issue…but the pdf paper ( and the conference video ) is still available, so it’s just a matter of spending 2-3 hours in Maya ( or any other software to be honest ).

Main difference is that he’s driving a joint-based facial rig, while in my case the mask itself carry all the expressions and applies them to a character with a custom operator.

I’m evolving a bit the system by using directly a high poly cage/mask without the LODs iteration, but I’m having some issues with the inner eye sockets and the inner mouth, so I think that I’ll just remove them.

During this week I’ll do another video and, as soon as my mocap suit will arrive, I’ll create a sweet demo to show you all :slight_smile:

Shame you can’t release it! :stuck_out_tongue: I know for my part I don’t have the proper Maya skills to recreate this by any means. Looks soooo useful too!

I thought another workaround in Maya which should work without any custom operator but with native deformers, so in case I think I just might do a tutorial about that :wink: