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
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 :
- Apple ARKit
- Systèmes basés sur FACS
- Système Preston Blair
- Système de Phonèmes 3ds Max
- Personnages Personnalisés (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
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 ARKit | Notes |
---|---|---|
Sil | mouthClose | La position neutre/repos |
PP | mouthPressLeft + mouthPressRight | Pour les sons bilabiaux, utilisez les deux formes de pression ensemble |
FF | lowerLipBiteLeft + lowerLipBiteRight (ou mouthRollLower) | La lèvre inférieure entre en contact avec les dents supérieures, comme pour les sons "f" et "v" |
TH | tongueOut | ARKit offre un contrôle direct de la langue |
DD | jawOpen (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 |
KK | mouthLeft ou mouthRight (léger) | Une légère traction du coin de la bouche approche les sons vélaires |
CH | jawOpen (léger) + mouthFunnel (léger) | Combinez pour les sons postalvéolaires |
SS | mouthFrown | Utilisez un léger froncement pour les sibilantes |
NN | jawOpen (très léger) + mouthClose | Bouche presque fermée avec une légère ouverture de la mâchoire |
RR | mouthPucker (léger) | Un léger arrondi pour les sons en "r" |
AA | jawOpen + mouthStretchLeft + mouthStretchRight (ou jawOpen + mouthOpen) | Bouche grande ouverte pour le son "ah" |
E | jawOpen (léger) + mouthSmile | Position mi-ouverte avec un léger sourire |
IH | mouthSmile (léger) | Léger étirement des lèvres |
OH | mouthFunnel | Forme arrondie ouverte |
OU | mouthPucker | Lèvres fortement arrondies |
FACS (Facial Action Coding System) utilise des Unités d'Action (AUs) pour décrire les mouvements du visage. De nombreux systèmes d'animation professionnels utilisent des approches basées sur FACS :
Visème RuntimeMetaHumanLipSync | Unités d'Action FACS | Notes |
---|---|---|
Sil | Neutre | Aucune AU active |
PP | AU23 + AU24 | Presseur de lèvre + serreur de lèvre |
FF | AU22 + AU28 | Forme d'entonnoir des lèvres + succion des lèvres |
TH | AU25 (léger) + AU27 | Lèvres écartées + étirement de la bouche |
DD | AU25 + AU16 | Lèvres écartées + abaisseur de la lèvre inférieure |
KK | AU26 + AU14 | Abaissement de la mâchoire + fossette |
CH | AU18 + AU25 | Pincement des lèvres + lèvres écartées |
SS | AU20 | Étireur de lèvre |
NN | AU25 (très léger) | Légères lèvres écartées |
RR | AU18 (léger) | Léger pincement des lèvres |
AA | AU27 + AU26 | Étirement de la bouche + abaissement de la mâchoire |
E | AU25 + AU12 | Lèvres écartées + élévateur du coin des lèvres |
IH | AU12 + AU25 (léger) | Élévateur du coin des lèvres + légères lèvres écartées |
OH | AU27 (léger) + AU18 | Léger étirement de la bouche + pincement des lèvres |
OU | AU18 + AU26 (léger) | Pincement des lèvres + léger abaissement de la mâchoire |
Le système Preston Blair est un standard classique d'animation qui utilise des noms descriptifs pour les formes de bouche :
RuntimeMetaHumanLipSync Viseme | Preston Blair | Notes |
---|---|---|
Sil | Rest | Position neutre de la bouche fermée |
PP | MBP | La forme de bouche classique "MBP" |
FF | FV | La position "FV" avec les dents sur la lèvre inférieure |
TH | TH | Langue touchant les dents avant |
DD | D/T/N | Position similaire pour ces consonnes |
KK | CKG | Position de consonne dure |
CH | CH/J/SH | Légère moue pour ces sons |
SS | S/Z | Position des dents légèrement ouverte |
NN | N/NG/L | Similaire à D/T mais position de la langue différente |
RR | R | Lèvres arrondies pour le son R |
AA | AI | Bouche grande ouverte |
E | EH | Bouche moyennement ouverte |
IH | EE | Lèvres étirées |
OH | OH | Ouverture moyenne arrondie |
OU | OO | Lèvres étroitement arrondies |
3ds Max utilise un système basé sur les phonèmes pour son character studio :
RuntimeMetaHumanLipSync Viseme | Phonème 3ds Max | Notes |
---|---|---|
Sil | rest | Position de bouche par défaut |
PP | p_b_m | Équivalent direct |
FF | f_v | Équivalent direct |
TH | th | Équivalent direct |
DD | t_d | Équivalent direct |
KK | k_g | Équivalent direct |
CH | sh_zh_ch | Forme combinée |
SS | s_z | Équivalent direct |
NN | n_l | Combiné pour ces sons |
RR | r | Équivalent direct |
AA | ah | Son vocalique ouvert |
E | eh | Voyelle moyenne |
IH | ee | Voyelle fermée antérieure |
OH | oh | Voyelle postérieure arrondie |
OU | oo | Voyelle postérieure fermée |
Les personnages personnalisés avec des visèmes ou des morph targets/formes de mélange de bouche (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc.) peuvent généralement être mappés au système de visèmes du plugin avec des approximations raisonnables.
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.
Important : Vérifier l'onglet Curves Cette étape est particulièrement cruciale pour les personnages exportés depuis Blender ou d'autres logiciels externes :
- Ouvrez l'onglet Curves dans l'éditeur de Skeletal Mesh
- Vérifiez si vous pouvez voir des courbes correspondant à vos morph targets
- 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
- Allez dans
Create Asset -> Create Animation -> Reference Pose
- Entrez un nom descriptif pour la séquence d'animation et enregistrez-la à un emplacement approprié
- La séquence d'animation créée s'ouvrira automatiquement, montrant une animation vide jouant en boucle
- Cliquez sur le bouton
Pause
pour arrêter la lecture de l'animation pour un édition plus facile
4. Éditer la Séquence d'Animation
- Cliquez sur
Edit in Sequencer
->Edit with FK Control Rig
- Dans la boîte de dialogue
Bake to Control Rig
, cliquez sur le boutonBake to Control Rig
sans changer aucun paramètre
- L'éditeur passera en
Animation Mode
avec l'ongletSequencer
ouvert - Définissez le
View Range End Time
à 0016 (ce qui définira automatiquementWorking Range End
à 0016 également) - 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
- 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) - 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
- Pour chaque visème, animez les courbes de morph target pertinentes de 0.0 à 1.0
- Démarrez l'animation de chaque visème sur une frame différente
- 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
- Allez dans
Create Asset
->Pose Asset
->Current Animation
- Entrez un nom descriptif pour le Pose Asset et enregistrez-le à un emplacement approprié
- Le Pose Asset créé s'ouvrira automatiquement, affichant des poses comme
Pose_0
,Pose_1
, etc., chacune correspondant à un visème - Prévisualisez les poids des visèmes pour vous assurer qu'ils fonctionnent comme prévu
9. Finaliser le Pose Asset
- Renommez chaque pose pour qu'elle corresponde aux noms de visèmes de la section Prerequisites
- 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 :
- Localisez ou créez l'Animation Blueprint de votre personnage
- 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
- 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
Combinaison avec les animations du corps
Si vous souhaitez effectuer la synchronisation labiale parallèlement à d'autres animations du corps :
- Suivez les mêmes étapes que celles documentées dans le guide standard du plugin
- 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 :
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.