cubeDAZ3D Blendshape Guide (Eye Movement + Visemes, Genesis 2 to 9)

DAZ Blendshape Guide (Eye Movement + Visemes, Genesis 2 to 9)

This guide explains what CrystalLipSync expects for both:

  • Eye Movement blendshapes (CrystalEyeBlink)

  • Viseme blendshapes (CrystalLipSyncBlendshapeTarget)

for DAZ Genesis 2, 3, 8, 8.1, and 9.


Scope

This page covers:

  • Eye Movement look blendshape mapping expectations

  • Brow Sync mapping expectations

  • Viseme blendshape expectations by Genesis generation

  • Which visemes are required vs recommended

  • Bone fallback behavior when mappings are empty

  • What happens when mappings are left None

Important policy in this project:

  • Genesis 9 Eye Movement is bone-driven in CrystalEyeBlink.

  • Detect actions keep Genesis 9 Eye Movement look/brow mappings empty (None) by design.


Quick Behavior Summary

Condition

Result in CrystalEyeBlink

Look blendshapes are mapped

Eye direction uses look blendshapes (with optional bone fallback for missing axes)

Look blendshapes are empty (None) and eye bones exist

Eye direction uses eye bones

Look blendshapes are empty and eye bones are missing

No directional eye movement can be applied

Brow blendshapes are mapped

Brow Sync animates brows with vertical gaze

Brow blendshapes are empty (None)

Brow Sync produces no brow deformation

Force Bone Rotation = true

Eye direction uses bones even if look blendshapes are mapped


Viseme Behavior Summary

Condition
Result in CrystalLipSyncBlendshapeTarget

A viseme is mapped to one or more blendshapes

That phoneme group drives mouth deformation

A viseme is None (-1)

That viseme contributes no deformation

All visemes are None

Lip sync has no visible mouth movement

Only some visemes are mapped

Lip sync works but articulation quality is reduced

CrystalLipSync uses a 15-viseme set:

  • SIL, PP, FF, TH, DD, KK, CH, SS, NN, RR, AA, E, I, O, U


Eye Movement: Expected Look Blendshape Patterns by Genesis Generation

The detector is case-insensitive and separator-insensitive (underscores, dots, hyphens are normalized), so naming variants still match.

Genesis 2 / 3 / 8 (typical DAZ eCTRL style)

Most common expected controls are bipolar eye controls:

  • eCTRLEyesUp-DownL

  • eCTRLEyesUp-DownR

  • eCTRLEyesSide-SideL

  • eCTRLEyesSide-SideR

How these are interpreted:

  • Up-Down controls map to both Up and Down for that eye (signed weight at runtime)

  • Side-Side controls map to both Left and Right for that eye (signed weight at runtime)

This gives full per-eye directional control with only 4 DAZ controls.

Genesis 8.1 (common ARKit/FACS style, depending on export)

Many G8.1 rigs include ARKit-like directional shapes such as:

  • eyeLookUpLeft, eyeLookUpRight

  • eyeLookDownLeft, eyeLookDownRight

  • eyeLookInLeft, eyeLookInRight

  • eyeLookOutLeft, eyeLookOutRight

These map directly to per-eye look directions. If your rig still uses DAZ eCTRL-style names, those are also supported.

Genesis 9

  • Eye movement is intentionally bone-driven in CrystalEyeBlink.

  • Detect actions keep Eye Movement look/brow mappings empty (None).

  • Head/eye bones are used to drive gaze.


Expected Brow Sync Patterns

Brow detection is broad and supports DAZ-style variants, including bipolar and directional patterns.

Common successful patterns include names containing:

  • Raise concepts: brow + raise, up, innerUp, outerUp

  • Lower concepts: brow + down, furrow, compress, angry

  • Bipolar DAZ style: brow + both up and down in one control (signed behavior)

For DAZ rigs, both per-eye brow controls and combined brow controls can be recognized.


Visemes: What CrystalLipSync Expects (Genesis 2 to 9)

CrystalLipSync auto-mapper supports multiple DAZ naming families:

  • Genesis 2 style: vsm*

  • Genesis 3/8 style: eCTRLv*

  • Genesis 8.1 / 9 FACS style: facs_ctrl_v* / facs_bs_v* (and variants)

Normalization is forgiving (case, _, -, ., mesh prefixes).

Viseme families by generation

Genesis 2 (typical)

Common expected controls include:

  • vsmRest

  • vsmM, vsmF, vsmK, vsmL

  • vsmAA, vsmEH, vsmOW, vsmUW, vsmW

Genesis 3 / Genesis 8 (typical)

Common expected controls include:

  • eCTRLvRest

  • eCTRLvM, eCTRLvF, eCTRLvK, eCTRLvL

  • eCTRLvAA, eCTRLvEH, eCTRLvOW, eCTRLvUW, eCTRLvW

Genesis 8.1 (FACS/viseme style)

Common expected controls include:

  • facs_ctrl_vAA, facs_ctrl_vEH

  • facs_ctrl_vIY / facs_ctrl_vEE

  • facs_ctrl_vSH (postalveolar family)

  • plus other facs_ctrl_v* mouth viseme controls

Genesis 9

Primary viseme matching still works from facs_ctrl_v* / facs_bs_v* style names.

Additionally, CrystalLipSync can apply Genesis 9 FACS supplementary mouth entries (e.g. mouth close/funnel/pucker/stretch/tongue) to improve articulation when those shapes exist.

Note:

  • This Genesis 9 rule only affects viseme mapping quality.

  • It does not change the Eye Movement policy (which remains bone-driven with look/brow slots empty).


Which Visemes Are Required?

Strictly required:

  • None at engine level (the system allows partial mappings).

Practically required for understandable speech:

  • Recommended minimum set: PP, FF, AA, E, I, O, U

Recommended full-quality set:

  • All 15 visemes mapped.

Special DAZ note:

  • For DAZ Genesis (including Genesis 9), SIL is often intentionally left unmapped to avoid an undesirable rest deformation.


What Happens If Slots Are None

If Eye Movement look slots are left None in the inspector:

  1. No look blendshape deformation is written.

  2. Eye movement can still work through bones if eye bones are available.

  3. If eye bones are not found, the component has no target to apply look direction.

If Brow Sync slots are None:

  • Brow Sync has nothing to drive and will not deform brows.

Viseme slots (CrystalLipSyncBlendshapeTarget)

  • Any None viseme contributes no mouth deformation for its phoneme group.

  • If all are None, lip sync plays with no visible mouth animation.

  • Partial mappings are valid but reduce clarity/naturalness.

Runtime behavior:

  • Eye Movement mappings intentionally left empty are not auto-populated at runtime.

  • Viseme mappings also remain whatever you configured; runtime does not invent new mappings unless you run explicit detect/auto-map workflows.


  1. Assign/verify blink mesh and blink shapes.

  2. Eye Movement:

    • Genesis 2/3/8/8.1: use Detect Eye Movement if you want blendshape-driven gaze.

    • Genesis 9: keep Eye Movement look/brow slots None and use eye bones.

  3. Visemes:

    • Run viseme auto-map, then manually review core vowels/consonants.

    • Ensure at least the minimum set (PP, FF, AA, E, I, O, U) is mapped.

  4. For highest quality, map all 15 visemes and tune weights.


Troubleshooting

Detect found fewer/more mappings than expected

  • Check if your morph names are exported with prefixes/suffixes that still preserve core tokens (eye, look, up/down/in/out, brow, etc.).

  • Confirm you are testing on the same mesh that actually contains look morphs.

  • For dual-mesh setups, ensure the eye look mesh is assigned correctly.

Eyes do not move when all slots are None

  • Verify Head Bone, Left Eye Bone, and Right Eye Bone references.

  • Confirm Eye Movement is enabled.

  • Increase movement intensity and range settings for visibility.

Brows do not move

  • This is expected when Brow Sync slots are None.

  • Map brow slots manually or run eye movement detection if brow deformation is desired.

Mouth does not move (visemes)

  • Verify a CrystalLipSyncBlendshapeTarget exists on the mouth mesh.

  • Check that viseme mappings are not all None.

  • Confirm the chosen mesh is the main Genesis body/face mesh (not eyelashes/teeth).

Speech looks weak or unclear

  • Map the minimum core visemes first (PP, FF, AA, E, I, O, U).

  • Add remaining visemes to improve consonant detail (TH, DD, CH, SS, NN, RR, KK).


Practical Rule of Thumb

  • Want blendshape-driven eyes: map look blendshapes.

  • Want bone-driven eyes: leave look slots None (or enable Force Bone Rotation).

  • Want brow deformation: map brow slots.

  • Want no brow deformation: keep brow slots None.

  • Want intelligible lip sync quickly: map at least PP, FF, AA, E, I, O, U.

  • Want best lip sync quality: map all 15 visemes and tune weights.

Last updated