Aller au contenu principal

Comment utiliser le plugin avec des personnages personnalisés

Ce guide vous explique comment configurer Runtime MetaHuman Lip Sync pour des personnages non-MetaHuman. Ce processus requiert une bonne connaissance des concepts d’animation et du rigging. Si vous avez besoin d’aide pour l’implémenter sur votre personnage spécifique, vous pouvez contacter le support professionnel à l’adresse [email protected].

Remarque importante sur les modèles de synchronisation labiale

Compatibilité des personnages personnalisés

Ce guide couvre les personnages personnalisés qui n'utilisent pas les conventions de nommage des morph targets MetaHuman ou ARKit.

Si votre personnage utilise un ensemble de cibles de morphing différent (par exemple Daz Genesis, Reallusion CC3/CC4/CC5, Mixamo, ou un rig personnalisé simplifié), le modèle Standard (Faster) est l’option prise en charge, en suivant les étapes ci-dessous.

Plugin d'extension requis : Pour utiliser le Standard Model avec des personnages personnalisés, vous devez installer le plugin Standard Lip Sync Extension 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, contient 10+ morph targets définissant les visèmes (plus il y a de visèmes, meilleure est la qualité du lip sync)

Le plugin nécessite de mapper les cibles de morphing 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 de visèmes différent (ce qui est probable), vous n'avez pas besoin de correspondances exactes pour chaque visème. Des approximations suffisent souvent - par exemple, mapper le visème SH de votre personnage sur le visème CH du plugin fonctionnerait efficacement, car ce sont des 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 blendshapes pour l'animation faciale, y compris plusieurs formes de bouche. Voici comment les mapper aux visèmes de RuntimeMetaHumanLipSync :

RuntimeMetaHumanLipSync VisèmeARKit ÉquivalentNotes
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éger abaissement de la mâchoire.
KKmouthLeft or mouthRight (mild)Un léger tirage des commissures des lèvres approxime les sons vélaires.
CHjawOpen (mild) + mouthFunnel (mild)Combiner pour les sons post-alvéolaires.
SSmouthFrownUtilisez une légère moue pour les sibilantes.
NNjawOpen (very mild) + mouthCloseBouche presque fermée avec une légère ouverture de la mâchoire.
RRmouthPucker (mild)Arrondissement 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 arrondie ouverte
OUmouthPuckerLèvres étroitement 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 maillage squelettique qui contient les cibles de morphing (formes de mélange) que vous souhaitez utiliser pour l’animation de synchronisation labiale. Il peut s’agir d’un maillage de corps entier ou simplement d’un maillage du visage, selon le design de votre personnage.

2. Vérifier les cibles de morphing et les courbes.

Avant de continuer, vérifiez que votre skeletal mesh comporte des morph targets appropriés et des courbes correspondantes pour l'animation de lip sync.

Vérifier les cibles de morphing : Vérifiez que votre maillage squelettique contient des cibles de morphing (blend shapes) pouvant être utilisées comme visèmes pour l’animation de synchronisation labiale. La plupart des personnages prenant en charge l’animation faciale devraient inclure des cibles de morphing pour les 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 Skeletal Mesh.
  2. Vérifiez si vous voyez des courbes correspondant à vos morph targets.
  3. Si l'onglet Courbes est vide alors que des morph targets existent, ajoutez manuellement de nouvelles courbes en utilisant exactement les mêmes noms que vos morph targets.

Remarque : Ce problème survient couramment avec les exports Blender, où les cibles de morphing sont importées avec succès, mais les courbes d’animation ne sont pas créées automatiquement. Sans courbes correspondantes, l’animation ne se remplira pas correctement après le baking vers 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 en plus des cibles de morphing.

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

  1. Accédez à Créer une ressource -> Créer une animation -> Pose de référence
  2. Saisissez 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, montrant une animation vide qui se joue 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 basculera en Animation Mode avec l'onglet Sequencer ouvert.
  2. Réglez View Range End Time sur 0016 (ce qui définira également automatiquement Working Range End sur 0016).
  3. Faites glisser le bord droit du curseur jusqu'à l'extrémité droite de la fenêtre du Sequencer.

5. Préparer les courbes d'animation

  1. Revenez à l’actif Animation Sequence et localisez les cibles de morphing dans la liste Curves (si elles ne sont pas visibles, fermez et rouvrez l’actif Animation Sequence).
  2. Supprimez toutes les cibles de morphing qui ne sont pas liées aux visèmes ou aux mouvements de la bouche que vous souhaitez utiliser pour la synchronisation labiale.

6. Planifiez votre mappage de visèmes.

Créez un plan de correspondance pour aligner les visèmes de votre personnage sur 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 contient pas de correspondances exactes pour chaque visème requis.

7. Anime chaque visème.

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

8. Créer un Pose Asset

  1. Accédez à Create Asset -> Pose Asset -> Current Animation
  2. Saisissez un nom descriptif pour le Pose Asset et enregistrez-le dans 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 vérifier 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. Renommer chaque pose pour qu'elle corresponde aux noms de visèmes de la section Prérequis
  2. Supprimer les poses inutilisées

Configuration de la gestion et du mixage audio

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

  1. Localisez ou créez l’Animation Blueprint de votre personnage.
  2. Configurez la gestion audio et le mixage 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.

Selecting the custom pose asset

Combinaison avec les animations du corps

Si vous souhaitez faire du lip sync en plus d'autres animations du corps :

  1. Suivez les mêmes étapes que celles documentées dans le guide de plugin standard
  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é de la synchronisation labiale 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.