Aller au contenu principal

Comment utiliser le plugin avec des personnages personnalisés

Ce guide vous accompagne tout au long du processus de configuration de Runtime MetaHuman Lip Sync pour des personnages non-MetaHuman. Ce processus nécessite une familiarité avec les concepts d'animation et le rigging. Si vous avez besoin d'aide pour implémenter cela sur votre personnage spécifique, vous pouvez contacter le support professionnel à [email protected].

Remarque importante concernant les modèles de synchronisation labiale

Compatibilité des personnages personnalisés

Les personnages personnalisés ne sont pris en charge qu'avec le modèle Standard (Plus rapide).

Le modèle Réaliste (Haute Qualité) est conçu pour les personnages MetaHuman et ARKit et ne peut pas être utilisé avec d'autres personnages personnalisés. Tout au long de ce guide, vous devez suivre les instructions du Modèle Standard du guide de configuration principal lorsqu'elles sont référencées.

Plugin d’extension requis : Pour utiliser le Modèle Standard avec des personnages personnalisés, vous devez installer le plugin d’extension Standard Lip Sync comme décrit dans la section Prérequis du guide d’installation principal.

Cette extension est requise pour toutes les implémentations de personnages personnalisés décrites dans ce guide.

Prérequis

Avant de commencer, assurez-vous que votre personnage répond à ces exigences :

  • Possède un squelette valide
  • Contient des cibles de morphing (formes de mélange) pour les expressions faciales
  • Idéalement, possède 10 cibles de morphing ou plus définissant des visèmes (plus il y a de visèmes, meilleure est la qualité de la synchronisation labiale)

Le plugin nécessite de mapper les morph targets de votre personnage aux visèmes standard suivants :

Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)

Remarque : Si votre personnage dispose d'un ensemble de visèmes différent (ce qui est probable), vous n'avez pas besoin de correspondances exactes pour chaque visème. Des approximations sont souvent suffisantes - par exemple, mapper le visème SH de votre personnage sur le visème CH du plugin fonctionnerait efficacement puisqu'il s'agit de sons post-alvéolaires étroitement liés.

Référence de mappage des visèmes

Voici les correspondances entre les systèmes de visèmes courants et les visèmes requis par le plugin :

ARKit fournit un ensemble complet de formes de mélange pour l'animation faciale, incluant plusieurs formes de bouche. Voici comment les mapper aux visèmes de RuntimeMetaHumanLipSync :

RuntimeMetaHumanLipSync VisèmeÉquivalent ARKitNotes
SilmouthCloseLa position neutre/de repos
PPmouthPressLeft + mouthPressRightPour les sons bilabiaux, utilisez les deux formes de pression ensemble.
FFlowerLipBiteLeft + lowerLipBiteRight (ou mouthRollLower)La lèvre inférieure touche les dents supérieures, comme dans les sons "f" et "v".
THtongueOutARKit dispose d'un contrôle direct de la langue.
DDjawOpen (mild) + tongueUp (if you have tongue rig)La langue touche la crête alvéolaire ; légère ouverture de la mâchoire.
KKmouthLeft or mouthRight (mild)Traction subtile du coin de la bouche pour approximer les sons vélaires
CHjawOpen (mild) + mouthFunnel (mild)Combiner pour les sons post-alvéolaires
SSmouthFrownUtilisez une légère moue pour les sifflantes.
NNjawOpen (very mild) + mouthCloseBouche presque fermée avec une légère ouverture de la mâchoire
RRmouthPucker (mild)Arrondi subtil pour les sons "r"
AAjawOpen + mouthStretchLeft + mouthStretchRight (ou jawOpen + mouthOpen)Bouche grande ouverte pour le son "ah"
EjawOpen (mild) + mouthSmilePosition mi-ouverte avec un léger sourire
IHmouthSmile (mild)Léger étirement des lèvres
OHmouthFunnelForme ouverte arrondie
OUmouthPuckerLèvres bien arrondies

Création d’un Pose Asset personnalisé

Suivez ces étapes pour créer un atout de pose personnalisé pour votre personnage, qui sera utilisé avec le nœud Blend Runtime MetaHuman Lip Sync :

1. Localisez le Skeletal Mesh de votre personnage

Trouvez le maillage squelettique qui contient les morph targets (blend shapes) que vous souhaitez utiliser pour l'animation de synchronisation labiale. Il peut s'agir d'un maillage corporel complet ou simplement d'un maillage facial, selon la conception de votre personnage.

2. Vérifier les Morph Targets et les Courbes

Avant de continuer, vérifiez que votre maillage squelettique dispose des morph targets appropriés et des courbes correspondantes pour l'animation de synchronisation labiale.

Vérifier les morph targets : Assurez-vous que votre maillage squelettique contient des morph targets (blend shapes) pouvant être utilisés comme visèmes pour l'animation de synchronisation labiale. La plupart des personnages dotés d'un support d'animation faciale devraient posséder des morph targets de phonèmes/visèmes.

Example of morph targets in a character

Important : Vérifier l'onglet Courbes Cette étape est particulièrement cruciale pour les personnages exportés depuis Blender ou d'autres logiciels externes :

  1. Ouvrez l'onglet Courbes dans l'éditeur de maillage squelettique
  2. Vérifiez si vous pouvez voir des courbes correspondant à vos cibles de morphing
  3. Si l'onglet Courbes est vide mais que des cibles de morphing existent, ajoutez manuellement de nouvelles courbes en utilisant exactement les mêmes noms que vos cibles de morphing

Remarque : Ce problème survient couramment avec les exportations Blender où les morph targets s'importent correctement mais les courbes d'animation ne sont pas créées automatiquement. Sans courbes correspondantes, l'animation ne se générera pas correctement après le baking vers le Control Rig.

Solution alternative : Pour éviter ce problème lors de l’exportation depuis Blender, essayez d’activer Propriétés personnalisées et Animation dans vos paramètres d’exportation FBX, ce qui peut aider à inclure les courbes d’animation avec les cibles de morphing.

3. Créer une animation de pose de référence

  1. Allez à Create Asset -> Create Animation -> Reference Pose
  2. Entrez un nom descriptif pour la séquence d'animation et enregistrez-la dans un emplacement approprié
  3. La séquence d'animation créée s'ouvrira automatiquement, affichant une animation vide jouée en boucle

Creating a reference pose asset Naming the reference pose asset

  1. Cliquez sur le bouton Pause pour arrêter la lecture de l'animation afin de faciliter l'édition.

Pausing animation playback

4. Modifier la séquence d'animation

  1. Cliquez sur Edit in Sequencer -> Edit with FK Control Rig
  2. Dans la boîte de dialogue Bake to Control Rig, cliquez sur le bouton Bake to Control Rig sans modifier aucun paramètre

Editing with FK Control Rig Baking to Control Rig

  1. L'éditeur passera en Mode Animation avec l'onglet Sequencer ouvert
  2. Réglez le Temps de fin de la plage d'affichage sur 0016 (ce qui définira automatiquement la Fin de la plage de travail sur 0016 également)
  3. Faites glisser le bord droit du curseur jusqu'à l'extrémité droite de la fenêtre du séquenceur

5. Préparer les courbes d'animation

  1. Revenez à l'actif de séquence d'animation et localisez les cibles de morphing dans la liste Curves (si elles ne sont pas visibles, fermez et rouvrez l'actif de séquence d'animation)
  2. Supprimez toutes les cibles de morphing qui ne sont pas liées aux visèmes ou aux mouvements de bouche que vous souhaitez utiliser pour le lip sync

6. Planifiez votre mappage de visèmes

Créez un plan de correspondance pour faire correspondre les visèmes de votre personnage à l'ensemble requis par le plugin. Par exemple :

Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U

Notez qu'il est acceptable d'avoir des correspondances répétées lorsque l'ensemble de visèmes de votre personnage ne possède pas de correspondances exactes pour chaque visème requis.

7. Animer chaque visème

  1. Pour chaque visème, animez les courbes de morph target pertinentes de 0,0 à 1,0
  2. Commencez chaque animation de visème sur une image différente
  3. Configurez des courbes supplémentaires si nécessaire (ouverture de la mâchoire/de la bouche, position de la langue, etc.) pour créer des formes de visème naturelles

8. Créer un Pose Asset

  1. Allez dans Create Asset -> Pose Asset -> Current Animation
  2. Saisissez un nom descriptif pour l'actif de pose et enregistrez-le dans un emplacement approprié
  3. L'actif de pose créé s'ouvrira automatiquement, affichant des poses comme Pose_0, Pose_1, etc., chacune correspondant à un visème
  4. Prévisualisez les poids des visèmes pour vous assurer qu'ils fonctionnent comme prévu

Creating a pose asset Naming the pose asset Pose asset with visemes

9. Finaliser l'actif de pose

  1. Renommez chaque pose pour qu'elle corresponde aux noms des visèmes de la section Prérequis
  2. Supprimez toutes les poses inutilisées

Configuration de la gestion et du mixage audio

Une fois votre pose asset prêt, vous devez configurer les nœuds de gestion audio et de blending :

  1. Localisez ou créez l'Animation Blueprint de votre personnage
  2. Configurez la gestion audio et le blending en suivant les mêmes étapes que celles documentées dans le guide d'installation standard du plugin
  3. Dans le nœud Blend Runtime MetaHuman Lip Sync, sélectionnez votre Pose Asset personnalisé au lieu de l'asset de pose MetaHuman par défaut

Selecting the custom pose asset

Combinaison avec les animations corporelles

Si vous souhaitez effectuer un synchronisme labial en même temps que d'autres animations corporelles :

  1. Suivez les mêmes étapes que celles documentées dans le guide standard du plugin
  2. Assurez-vous de fournir les noms d'os corrects pour le squelette du cou de votre personnage au lieu d'utiliser les noms d'os MetaHuman

Résultats

Voici des exemples de personnages personnalisés utilisant cette configuration :

Example 1: Lip sync with custom character

Example 2: Lip sync with different viseme system

Example 3: Lip sync with different viseme system

La qualité du lip sync dépend en grande partie du personnage spécifique et de la qualité de configuration de ses visèmes. Les exemples ci-dessus montrent le plugin fonctionnant avec différents types de personnages personnalisés dotés de systèmes de visèmes distincts.