Tuesday, January 26, 2021

FACS

 A couple of days ago, DAZ announced the release of DAZ Studio version 4.15, and the updated Genesis 8.1 character (only female so far). It features improved facial expressions; "Genesis 8.1 introduces 63 morphs based on FACS (Facial Action Coding System) to facilitate more natural looking expressions and more diversity in expressions available. FACS is used by professional animators and utilized in research, such as with facial recognition." 

From the point of the DAZ Importer, these FACS morphs are just another set of standard morphs, so adding them to Blender was very little work. All that was needed was to add the relevant file paths to the directories where the FACS morphs are stored.

In the development version of the Daz Importer, there are two new buttons, Import FACS Units (for the FACS morphs themselves) and Import FACS Expression (for a standard set of facial expressions which use the FACS morphs.
The import interface is familiar from other similar buttons. Here we can choose between the FACS units available on our machine.

A new panel called FACS (will probably be changed to FACS Units soon), with the familiar layout. Here Genesis 8.1 Female is blinking.

Similarly we can load the FACS Expressions. Here we are in for a surprise. Whereas some of the expressions work quite well, some like SmileOpenFullFace barely changes the face at all.

To understand what is going on we must recall that there are two kinds of morphs: shapekeys and face rig poses. In Genesis and Genesis 2 characters, morphs are implemented as shapekeys, and in Genesis 3 and 8 they are face rig poses. The new thing with the FACS morphs is that they are combinations of both; both shapekeys and face rig poses are equally important.

However, morphs can also be combinations of other morphs, e.g. the EyesBlink morph consists of EyeBlinkLeft and EyeBlinkRight, which in turn move the bones. In Blender such multiple layers of drivers do not work, so instead the EyesBlink morph drives the bones directly, with a combination of the left and right weights. For Genesis 3 and 8 morphs, combining the bone drivers was all that mattered, but for FACS expressions shapekeys must also be combined for the morph to look right. This feature has just been implemented.

There is a global settings which controls whether new shapekeys should be generated when morphs using morphs are loaded. It is off by default, although that may change in the future. The reason is that this settings may affect ordinary morphs as well, which already look good without shapekeys, and shapekeys consume lots of memory.
With the Combine Multiple Shapekeys option enabled, the SmileOpenFullFace morph looks like its name.
The Afraid morph still looks weird, but since this is the only FACS expression that is off, it may be a glitch in the Daz file.
The Angry morph shows a different problem. The face looks angry, but the eyelashes do not follow. This is because the shapekeys only affect the body mesh, unlike face rig poses, which affect both the body and the eyelashes (provided that the rigs have been merged).

To fix this, we need to transfer the shapekeys from the body to the eyelashes, using the Transfer Other Morphs button.
The pop-up dialog shows the available shapekeys. The ones that start with face_bs_ are part of the FACS units, and the ones starting with face_ctrl_ were created when we loaded the FACS expressions.

To limit transfer to the expression shapekeys, we filter with the string ctrl.
And now the eyelashes follow the face when G8.1F becomes angry.
The FACS morphs are supposed to be a new feature which is only supported by Genesis 8.1 characters. However, Genesis 8 and 8.1 are combatible meshes (same number of vertices, edges and faces), and therefore we can load the FACS morphs to Genesis 8 characters as well. The results above for Aiko 8 indicate that this works.