Facial animation in maya -> unity

Our project has come to the stage were it needs facial animation, but after a lot of tries and errors we’ve realized that we are a bit out on thin ice.

Does anyone have a recommended workflow for doing this?

Our pipeline consists of Maya and unity atm. We are trying all sorts using both bone and curve animation and even using blend shapes (which only works with a custom made editor, but not so much on complex stuff like face animation). Any ideas on a middleware here? Like FaceFx?

Any opinions and recommendations are highly appreciated:)

Personally, I’ve only use skeletal animation for faces in Unity- but recently it has been brought to my attention that Mega-Fiers (a unity modifier bundle on the asset store) now allows you to bring in morph targets. I’ve never used them myself- but they may be something you want to look into.

Otherwise, no- there’s no way to do vertex animation in Unity.

Joint based facial animations are both a relatively straightforward Maya rigging solution and likely the best bet performance-wise. Requires an artist’s study of the face’s muscles and bones and detailed attention to weights painting in Maya. But after that results can be surprisingly good without deeply sophisticated rigging or middleware.

just make sure you select “bake animations” when you import your animation or your animation will never activate.

MegaFiers now has a Maya exporter for Blend Shapes making it very easy to add to your Unity project. Maya Blend Shapes in Unity with MegaFiers - YouTube

Since 4.3 unity supports blendshapes natively, just copy in the FBX.
Blendshape curves can be animated with the faceshift plugin, I’ve put a tutorial on faceshift unity plugin tutorial - YouTube

Face fx does now integrate with unity so a pose based bone system is still a viable solution for characters needing to lip-sync. If you’re after higher fidelity facial animation & characters have no dialogue then a animator driven setup in maya would produce the best results. Unity supports the export of both blendshape & bone data, so you are free to use both simultaneously. This can even prove helpful with the facial rig, if you choose to drive eye/lid/jaw movement via bones & more mesh intensive shapes (eyebrow squeeze, cheek puff) via blendshapes.

On the other hand, if you need dialogue but have no quality concerns a ‘flappy mouth’ code driven system linked to the intensity of the wav would be the old school approach :slight_smile: