Morphs section

Important

Morphs for modern Daz characters will only work if Blender is allowed to Auto Run Python Scripts. See the document on ugly faces for details.

  • Import Units. Import all selected face units morphs.
  • Import Expressions. Import all selected expression morphs.
  • Import Visemes. Import all selected viseme morphs.
  • Import FACS Units. Import all selected FACS units morphs.
  • Import FACS Expressions. Import All selected FACS expressions morphs.
  • Import Body Morphs. Import all selected body morphs.
  • Import JCMs. Import all selected joint corrective morphs (JCM's), which are shapekeys driven by bone rotations.
  • Import Flexions. Import all selected flexion morphs.
  • Import Custom Morphs. Import the selected morph files to the active mesh, or the morphs from all files in the directory. The morphs must have the same number of vertices as the active mesh. Optionally, object properties that drive the morphs can be created, and can be accessed from the Custom Morphs panel.
  • Transfer JCMs. Transfer all joint corrective morphs (bone-driven morphs) from the active mesh to all selected meshes.
  • Transfer Other Shapekeys. Transfer all shapekeys that are not corrective morphs (driven by bone rotations) from the active mesh to all selected meshes.  
  • Add Shrinkwrap. Add a shrinkwrap modifier to specified meshes to keep them above the active mesh. This is an alternative or complement to transferring JCMs.
  • Mix Shapekeys: Combine two shapekeys into a single one.

Import Units

When we press Import Units, a pop-up dialog appears with all available face units.The list depends on which morphs for this character that was found on your computer.
The All and None buttons select and deselect all morphs in the list, and the magnifying glass is a search field.

Search for all morphs involving the eyes. Press None to deselect all morphs, and then select the three EyesClosed morphs. Press OK to load the morphs.

If you started Blender from a terminal window, you can follow the progress while the morphs are loading. The character in front to the morph name has the following meaning:

*    The morph (driven by sliders) was successfully loaded.
!     The morph (driven by bone rotations) was successfully loaded.
-     The morph failed to load.
?    Too little information is available to create the morph now. Try again later.

The new Face Units panel appears at the bottom of the DAZ tab. At the top there are some buttons:
  • Prettify Panels: Change sliders to checkboxes. If boolean options appear as sliders, use this button to refresh them.
  • Select All: Select all morphs in the Face Units panel. When selected, the checkbox to the right of the slider is checked.
  • Unselect All: Unselect all morphs in the Face Units panel.
  • Disable Drivers: Temporarily disable all bone drivers to improve posing performance. All morph panels remain locked until drivers are enabled again.
  • Keys: Add category morphs to the active custom keying set, or make a new one (?).
  • Key plus: Insert keys for all selected face units at the current frame (checkboxes enabled).
  • Crossed key: Remove keys from all selected expressions at the current frame (checkboxes enabled).
  • X: Clear all selected expressions (checkboxes enabled).
  • Magnifying glass: Only display morphs matching the search field.
Then there are sliders for the newly loaded morphs. For each loaded expression, we have a slider, an select checkbox, and a pin button, which sets the slider to 1.0 while also resetting all other sliders in the Face Units panel to 0.0. In fact, five morphs were loaded, because the eyes closed morphs also use the eyes squint morphs.
It may be noted that this button imports the standard face unit morphs, which were originally made for the base character, Genesis 8 Female in this case. Since Aiko is a quite stylized character the morphs do not fit her perfectly. If custom made morphs for your character are available, you may consider loading them with the Import Custom Morphs button instead.

Import Expressions

Expressions work in the same way as Face Units.
Here we have imported the Afraid and Angry morphs.

Import Visemes

Visemes work in the same way as Face Units.
Here we have show the AA and F morphs.

At the top of the Visemes panel there is an extra button: Load Moho. With it you can import lipsync files in the Moho (.dat) files, which can be created with the program Papagayo from lostmarble.com. Press the button and select a .dat file in the file selector.
And now Aiko says "Hasta la vista, baby".

Import FACS Units

An interesting new feature in DAZ Studio version 4.15 is the introduction of the FACS (Facial Action Coding System) morphs, which facilitates 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 view of the DAZ Importer, the FACS units are just another set of standard morphs. They are available for the updated Genesis 8.1 characters (only female so far), but seem to work for Genesis 8 characters as well. For more information, see the blog post on FACS.
The dialog lists the available FACS units.
Once the FACS morphs have been loaded, a new panel opens up. There are two new buttons at the top:
  • Import FaceCap File: Import a facial mocap animation made with FaceCap (iOS facial capture app for devices with Face ID).
  • Import Live Link File: Import a facial mocap animation made with Unreal Live Link.
 For an example of a FaceCap animation loaded to a DAZ character, see this blog post.

Import FACS Expressions

FACS expressions are morphs that are built on top of the FACS units.

So far only a few FACS expressions are available.
Here are the Afraid and Smile Open Full Face morphs. Notice that these morphs work for Aiko, despite the fact that she is a Genesis 8 Female and does not belong to the 8.1 generation. The morphs are not perfectly adapted to her, but that is because Aiko is a cartoonish character and it is not a matter of generation.
The Angry morphs show some problems with the eyelashes. To fix that, we need to transfer the FACS shapekeys from the body to the eyelashes using the Transfer Other Morphs tool, see below. This problem does not arise for ordinary face units, which are implemented as bone rotations. In contrast, the FACS units are a combination of bone rotations and shapekeys, and the shapekeys must be transferred to the eyelashes.
 

Import Body Morphs

Body morphs are morphs which involve the body rather than face. Note the difference between a body  morph (bones driven by rig properties) and a pose (bone rotations loaded from a file). The interface works in the same way as Face Units.
Here we select all pose morphs for the left hand.
In the Pose Morphs panel which appears we can pose the hand by moving sliders.

A drawback of loading pose morphs is that we can no longer pose the affected bones by hand, because the bones are now driven by rig properties; the bone rotations turn purple.
 
However, we can pose the finger bones on top of the pose morph, using the Make All Bones Posable tool in the Finishing section
The rotation channel ceases to be purple, so the finger bones are no longer driven and can be freely posed. Additional bones have been created on a hidden layer, and the finger bones are now parented to the those driven bones. Therefore, the local rotation is zero. We can now pose the finger bones, but we may need to mute Limit Rotation constraints.

Import Custom Morphs

Not all morphs are facial expressions or correctives. To import some other type of morph to the active mesh, press the Import Custom Morphs button.
A file selector opens, with the file path set to a directory where morphs for this mesh should be located. The options are:
  • Use Drivers: Create drivers for the loaded morphs.
  • Category: Name of the category to which this morph(s) belongs.
Navigate to the directory where the full body morphs are located. Select FBMEmaciated and FBMPearFigure, and choose Category to be Shapes. We can select either the .dsf or the .png file, the .dsf file will be loaded in either case. Finally we press Import Custom Morphs to load the morphs.

A new panel called Custom Morphs opens up. At the bottom the category Shapes contains the two loaded morphs, corresponding to the twodriven shapekeys. Each categories contain sliders for the morphs that belong to it, and a pin button to set this slider to 1.0 and all others to 0.0. The sliders in each category can be hidden by unselecting the corresponding checkbox.

The new options at the top are
  • Open All Categories: Show the sliders of all categories.
  • Close All Categories: Hide the sliders of all categories.
 
At the top of the Shapes box we again have buttons selecting and keying properties. However, these buttons only affect the properties in this category, whereas the buttons at the top affect all custom morphs, independent of category.

Turn up to PearFigure to 1.0. Aiko grows fat, but she has not bought bigger sized clothes to match. We will fix that later.

Import Standard JCMs

The deformation of DAZ characters is improved with corrective shapekeys, known as Joint Corrective Morphs (JCM's) in DAZ Studio. In the DAZ Importer, we distinguish between standard JCM's, provided by DAZ for the base character (Genesis 8 Female in our case), and custom JCM's, which may be provided by various vendors.

The load interface for standard JCM's is identical to facial expressions. Here we select and import all JCMs for the two abdomen bones.
When the AbdomenLower and AbdomenUpper bones are both rotated 30 degrees around the X axis, we see that some of the corrective shapekeys are active.
We can also see that Aiko's tummy intersects with her skirt. So far the JCM's only affect Aiko's body. We will transfer them to the clothes later.

Import Custom JCMs

Some vendors provide specialized JCMs which work better with their characters than the default ones. Aiko is such a character. Press Import Custom JCMs and navigate to the Aiko 8 folder, where we select the three morphs that involve the head bone.
When Aiko bends her head bone forward, the corrective shapekey Aiko8HeadBndFwd kicks in.



Import Flexions

Flexions are bone-driven morphs that simulate the flexing of muscles. They are a new additions to Genesis 8.
When Import Flexions is pressed, a selector of the available flexions is displayed. Select all and press OK to import the morphs.
 
When Aiko now bends her forearm, her biceps muscle contracts. This is admittedly a very subtle effect, since the Genesis 8 Female is not very muscular, but it is there.


Import Custom Flexions

This tool loads flexions from specified files. It is very similar to the Import Custom JCMs tool, but there is a subtle difference. If importing morphs with Import Custom JCMs fails, try importing them with Import Custom Flexions instead, and vice versa.

Various vendors provided a greater variety of muscle morphs, or muscle morphs that are customized for a specific character. However, since I don't have access to any such files, we illustrate the tool by loading one of the base flexions as a custom flexion. In a new copy of Aiko, load the two biceps flexions.
Again the biceps shapekeys are driven by the rotation of the forearm bone.


Transfer JCMs

So far we have added morphs to the character but not to her clothes. The two last buttons in this section transfers the body morphs to the clothes meshes.

First there is a warning, however. If you intend to create low-poly versions of the clothes, as described in the Low-poly Meshes section, you need to do so before transferring morphs to the clothes. The reason is that the Quick Low-poly tool only works on meshes without shapekeys.
Select the clothes which you want to transfer the morphs to, and make Aiko's body the active mesh. Press Transfer JCMs.
A pop-up dialog appear which let you select the morphs to transfer. The morphs that appear in this list are JCM's, i.e. bone-driven shapekeys, which have been loaded with the Import Standard JCMs, Import Custom JCMs, and Import Flexions buttons. At the top of the pop-up dialog there is an option which determines the transfer method. It can take on four different values:
  • Nearest Face: Transfer shapekeys from the nearest face on the source mesh. This usually works well to transfer shapekeys to clothes and is the default.
  • Body: Only transfer between the first vertices, until a vertex with changed location is encountered. This works for shapekeys on the body that do not involve the geograft, because the merged vertices have higher vertex number than the original ones. This method is very fast when it works.
  • Geograft: Transfer shapekeys to the nearest vertex of the target mesh. Note the difference to the Nearest Vertex method. There each target vertex is paired with a source vertex, here each source vertex is paired with a target vertex, and nothing is transferred to unpaired target vertices. Use this to transfer shapekeys from the geograft to the merged mesh. Performance is the same as for the Nearest Vertex Method.
  • Legacy: This transfer method uses the data transfer modifier, and was the only method before version 1.5.1. It is very slow but works well in general.

More information about which method to use in different circumstances can be found in the blog post Morph Transfer Progress. See also Morph Transfer Artifacts.

In the terminal window we can follow how the morphs are transferred. The character in front of the shapekey name means:
+   The morph was auto-transferred and non-trivial
-    The morph was auto-transferred but found to be trivial, and therefore discarded.
*   The morph was imported from a .dsf file.
0   The morph was skipped because only vertices outside the clothing's bounding box are affected.
If the transfer method is set to General, there are also a lot of error messages in the terminal. Those are warnings issued by Blender and are perfectly normal. The General transfer method uses the Data Transfer modifier, which issues these warnings if the meshes involved have many vertices.

After the JCM's have been transferred to the top and skirt, the clothes no longer intersect with the body when Aiko bends forward.

The Nearest Vertex and Geograft transfer methods compute a Numpy array with the distances between all vertex pairs, to determine which is the shortest. If both meshes are large, this array can be huge, and your computer may not have enough memory to allocate it. If this happens, you can revert to the old General method, which should always work. However, transfer to smaller meshes can still work, so only after the tool has tried to transfer the morphs to all selected meshes an error message appears with a list of failed meshes.


Transfer Other Morphs

Use the last button to transfer all other shapekeys, which are not JCMs. These other shapekeys may have been loaded with one of the buttons in this section, or may have been created manually.

We want to select the remaining shapekeys from Aiko's body mesh to her top and skirt. Since we don't expect that the shapekeys affect the hair and shoes very much, we only select the top and skirt, and make the Aiko mesh active.

Again a pop-up dialog appears, with the same options as above. Select both full body morphs and hit return.

 
When the morphs have been transferred, the clothes fit Aiko even as she has gained weight.


Add Shrinkwrap

As an alternative to transferring JCMs, we can add shrinkwrap modifiers to the clothes to keep them outside the body. This is not difficult to do manually, but for convenience a button that adds shrinkwrap modifiers to several meshes is available. The same button is also part of the Visibility panel.

Select the mesh that we want to cover, normally the body, and press Add Shrinkwrap.
Next we get to select which meshes that we want to keep outside the body. We also specify the offset between the clothes and the body, which by default is 5 mm.
Shrinkwrap modifiers are now created for the top and skirt meshes.

When Aiko bends forward, the top and skirt now stay outside the body. Compared to the picture with transferred morphs above, the shrinkwrap method seems to be less accurate, but it may be good enough in many cases.


Mix Shapekeys

Sometimes two shapekeys in a merged mesh are really supposed to be a single one. Consider e.g. the New Genitalia for Victoria 8. Both the genitals and the body have morphs for opening the anus.
Transfer the PBMG8FAnusOpen shapekey to the genitals using the Transfer Other Shapekey button in the Morphs section. The genitals now has two separate shapekeys, but they don't make any sense separately, as the following picture illustrates.
We therefore want to combine them into a single shapekey which is driven by a single rig property. Press Mix Shapekeys. A pop-up menu appears where we can select the shapekeys that we want to merge.

  • Overwrite First: Replace the first shapekey with the mixed one, otherwise create a new shapekey. In this case an extra field appears where you can specify its name.
  • Delete Merged: Delete the original shapekeys.

Then there are two columns, one for each shapekey.

  • Magnifying glass: Use this to filter.
  • Factor:  Multiply the offset with this factor.
  • Shapekey:

In our case we want to replace the PGMAnusOpen shapekey with the sum of both shapekeys, and remove the transferred G8F shapekey, so we use the settings in the picture above.

  

The two shapekeys have been combined into a single one.

This tool can be used in other ways, too. Say that we have a character which is 30% Aiko 8 and 70% Victoria 8. Then we can import custom morphs for both characters, and then mix them with this tool, settings the first factor to 0.3 and the second to 0.7.