How to set up lip sync morph targets.

kemorig supports microphone lip sync using Oculus OVR visemes. This is the same method you may be familiar with in other apps and vr programs.


Model Requirements

Your model must implement morph targets (aka blendshapes or shapekeys) for visemes.

OVR uses the following 15 morph targets (NOTE: these are the exact case sensitive names kemorig uses):

sil
PP
FF
TH
DD
kk
CH
SS
nn
RR
aa
E
ih
oh
ou

You can find various references online for how to author these. Here is one:

Morph Target Naming Convention

Your model’s morph targets do not have to match the exact names above. However, it is good practice to name closely to the list, which will help auto-detction find your morph targets.

Do I Need All 15?

No. Any missing morph targets will simply not play, and the rest will work.

In the mapping asset we’ll make below, you can also map one of your model’s morph target to multiple expected viseme names.

Obviously, if you don’t implement all 15, the final look may suffer.

Exaggeration and Smoothing

Lip Sync morph targets get modified by exaggeration and smoothing when they are played.

  • Exaggeration - applies contrast to the lip-sync algorithms morph targets, causing the strongest one at any given time to be more pronounced.
  • Smoothing - applies a smoothing factor as morph target weights change. Low smoothing looks snappy but may look robotic, high smoothing is smooth but may look sluggish.

Adjusting in the App

Exaggeration and Smoothing can be adjusted in the kemorig app inside Microphone options.

In addition, you can adjust these same options within the Face Shape Debug view.

Adjusting in Motion Settings

You can also adjust exxageration and smoothing inside Motion Settings, in the Lip Sync category.

This can allow you to adjust these settings per-Stance.

Tip: Stylized / Toon Lip Sync style

If you have a particularly stylized character, you can make lip sync shapes snap between each other by setting exaggeration to the max, and smoothing to the minimum.