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 de rigging. Si vous avez besoin d'aide pour implémenter cela pour votre personnage spécifique, vous pouvez contacter le support professionnel à [email protected].

Note importante concernant les modèles de Lip Sync

Compatibilité des personnages personnalisés

Les personnages personnalisés sont uniquement pris en charge avec le modèle Standard (Plus Rapide).

Le modèle Réaliste (Meilleure Qualité) est conçu exclusivement pour les personnages MetaHuman et ne peut pas être utilisé avec des 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 de configuration 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 morph targets (blend shapes) pour les expressions faciales
  • Idéalement, possède 10+ morph targets définissant des visèmes (plus il y a de visèmes, meilleure est la qualité du lip sync)

Le plugin nécessite de mapper les morph targets de votre personnage aux visèmes standards 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 possède un ensemble différent de visèmes (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 au visème CH du plugin fonctionnerait efficacement car ce sont des sons postalvéolaires étroitement liés.

Référence de mappage des visèmes

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

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

Visème RuntimeMetaHumanLipSyncÉquivalent ARKitNotes
SilmouthCloseLa position neutre/repos
PPmouthPressLeft + mouthPressRightPour les sons bilabiaux, utilisez les deux formes de pression ensemble
FFlowerLipBiteLeft + lowerLipBiteRight (ou mouthRollLower)La lèvre inférieure entre en contact avec les dents supérieures, comme pour les sons "f" et "v"
THtongueOutARKit offre un contrôle direct de la langue
DDjawOpen (léger) + tongueUp (si vous avez un rig de langue)La langue touche la crête alvéolaire ; légère ouverture de la mâchoire
KKmouthLeft ou mouthRight (léger)Une légère traction du coin de la bouche approche les sons vélaires
CHjawOpen (léger) + mouthFunnel (léger)Combinez pour les sons postalvéolaires
SSmouthFrownUtilisez un léger froncement pour les sibilantes
NNjawOpen (très léger) + mouthCloseBouche presque fermée avec une légère ouverture de la mâchoire
RRmouthPucker (léger)Un léger arrondi pour les sons en "r"
AAjawOpen + mouthStretchLeft + mouthStretchRight (ou jawOpen + mouthOpen)Bouche grande ouverte pour le son "ah"
EjawOpen (léger) + mouthSmilePosition mi-ouverte avec un léger sourire
IHmouthSmile (léger)Léger étirement des lèvres
OHmouthFunnelForme arrondie ouverte
OUmouthPuckerLèvres fortement arrondies

Création d'un Asset de Pose Personnalisé

Suivez ces étapes pour créer un asset 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 skeletal mesh qui contient les morph targets (formes de mélange) que vous souhaitez utiliser pour l'animation de synchronisation labiale. Il peut s'agir d'un mesh complet du corps ou seulement d'un mesh du visage, selon la conception de votre personnage.

2. Vérifiez les Morph Targets et les Courbes

Avant de continuer, vérifiez que votre skeletal mesh possède des morph targets et des courbes correspondantes appropriées pour l'animation de synchronisation labiale.

Vérifiez les Morph Targets : Vérifiez que votre skeletal mesh contient des morph targets (formes de mélange) qui peuvent être utilisés comme visèmes pour l'animation de synchronisation labiale. La plupart des personnages avec support d'animation faciale devraient avoir des morph targets de phonèmes/visèmes. Exemple de morph targets dans un personnage

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

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

Note : Ce problème se produit couramment avec les exports Blender où les morph targets s'importent avec succès mais les courbes d'animation ne sont pas créées automatiquement. Sans courbes correspondantes, l'animation ne se peuplera pas correctement après le baking vers Control Rig.

Solution alternative : Pour éviter ce problème lors de l'export depuis Blender, essayez d'activer Custom Properties et Animation dans vos paramètres d'export FBX, ce qui peut aider à inclure les courbes d'animation avec les morph targets.

3. Créer une Animation de Pose de Référence

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

Création d'un asset de pose de référence Nommage de l'asset de pose de référence

  1. Cliquez sur le bouton Pause pour arrêter la lecture de l'animation pour un édition plus facile

Mise en pause de la lecture d'animation

4. Éditer 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 changer aucun paramètre

Édition avec FK Control Rig Baking vers Control Rig

  1. L'éditeur passera en Animation Mode avec l'onglet Sequencer ouvert
  2. Définissez le View Range End Time à 0016 (ce qui définira automatiquement Working Range End à 0016 également)
  3. Faites glisser le bord droit du curseur vers l'extrémité droite de la fenêtre du séquenceur

5. Préparer les courbes d'animation

  1. Retournez à l'asset Animation Sequence et localisez les morph targets dans la liste Curves (s'ils ne sont pas visibles, fermez et rouvrez l'asset Animation Sequence)
  2. Supprimez tous les morph targets qui ne sont pas liés aux visèmes ou aux mouvements de bouche que vous souhaitez utiliser pour le Lip Sync

6. Planifiez votre mapping de visèmes

Créez un plan de mapping 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 mappages répétés lorsque le jeu de visèmes de votre personnage ne dispose 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. Démarrez l'animation de chaque visème sur une frame différente
  3. Configurez des courbes supplémentaires si nécessaire (ouverture de la mâchoire/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. Entrez un nom descriptif pour le Pose Asset et enregistrez-le à un emplacement approprié
  3. Le Pose Asset 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

Création d'un pose asset Nommage du pose asset Pose asset avec visèmes

9. Finaliser le Pose Asset

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

Configuration de la gestion audio et du mélange

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

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

Sélection de l'asset de pose personnalisé

Combinaison avec les animations du corps

Si vous souhaitez effectuer la synchronisation labiale parallèlement à d'autres animations du corps :

  1. Suivez les mêmes étapes que celles documentées dans le guide standard du plugin
  2. Assurez-vous de fournir les noms corrects des os 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 :

Exemple 1 : Synchronisation labiale avec un personnage personnalisé

Exemple 2 : Synchronisation labiale avec un système de visèmes différent

Exemple 3 : Synchronisation labiale avec un système de visèmes différent

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