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 nécessite une familiarité avec les concepts d'animation et de rigging. Si vous avez besoin d'aide pour l'implémenter sur votre personnage spécifique, vous pouvez contacter le support professionnel à [email protected].
Prérequis
Avant de commencer, assurez-vous que votre personnage remplit ces conditions :
- 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 de visèmes = meilleure qualité de 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)
Note : 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, associer le visème SH
de votre personnage au visème CH
du plugin fonctionnerait efficacement car ce sont des sons postalvéolaires proches.
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 :
- 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 | Position neutre/repos |
PP | mouthPressLeft + mouthPressRight | Pour les sons bilabiaux, utilisez les deux formes de pression ensemble |
FF | lowerLipBiteLeft + lowerLipBiteRight | Créent le contact lèvre-dents pour "f/v" |
TH | tongueOut | ARKit offre un contrôle direct de la langue |
DD | jawOpen (léger) + tongueUp | Combinaison d'une légère ouverture de mâchoire et position de la langue |
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) | Combinaison 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 mâchoire |
RR | mouthPucker (léger) | Léger arrondi pour les sons "r" |
AA | jawOpen + mouthOpen | Combiné pour les sons voyelles largement ouverts |
E | jawOpen (léger) + mouthSmile | Position mi-ouverte avec un léger sourire |
IH | mouthSmile (léger) | Léger écartement des lèvres |
OH | mouthFunnel | Forme arrondie ouverte |
OU | mouthPucker | Lèvres étroitement arrondies |
FACS (Facial Action Coding System) utilise des Unités d'Action (AUs) pour décrire les mouvements faciaux. 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èvres + resserreur de lèvres |
FF | AU22 + AU28 | Entonnoir de lèvres + succion de lèvres |
TH | AU25 (léger) + AU27 | Lèvres écartées + étirement de bouche |
DD | AU25 + AU16 | Lèvres écartées + abaisseur de lèvre inférieure |
KK | AU26 + AU14 | Abaissement de mâchoire + fossetteur |
CH | AU18 + AU25 | Pincement de lèvres + lèvres écartées |
SS | AU20 | Écarteur de lèvres |
NN | AU25 (très léger) | Lèvres légèrement écartées |
RR | AU18 (léger) | Léger pincement de lèvres |
AA | AU27 + AU26 | Étirement de bouche + abaissement de mâchoire |
E | AU25 + AU12 | Lèvres écartées + tireur de coins de lèvres |
IH | AU12 + AU25 (léger) | Tireur de coins de lèvres + lèvres légèrement écartées |
OH | AU27 (léger) + AU18 | Léger étirement de bouche + pincement de lèvres |
OU | AU18 + AU26 (léger) | Pincement de lèvres + léger abaissement de mâchoire |
Le système Preston Blair est un standard classique d'animation qui utilise des noms descriptifs pour les formes de bouche :
Visème RuntimeMetaHumanLipSync | Preston Blair | Notes |
---|---|---|
Sil | Repos | Position neutre bouche fermée |
PP | MBP | Forme de bouche classique "MBP" |
FF | FV | Position "FV" avec dents sur la lèvre inférieure |
TH | TH | Langue touchant les dents de devant |
DD | D/T/N | Position similaire pour ces consonnes |
KK | CKG | Position de consonne dure |
CH | CH/J/SH | Léger moue pour ces sons |
SS | S/Z | Position légèrement ouverte des dents |
NN | N/NG/L | Similaire à D/T mais avec une position différente de la langue |
RR | R | Lèvres arrondies pour le son "r" |
AA | AI | Bouche grande ouverte |
E | EH | Bouche moyennement ouverte |
IH | EE | Lèvres écartées |
OH | OH | Arrondi moyen |
OU | OO | Lèvres étroitement arrondies |
3ds Max utilise un système basé sur les phonèmes pour son character studio :
Visème RuntimeMetaHumanLipSync | Phonème 3ds Max | Notes |
---|---|---|
Sil | rest | Position par défaut de la bouche |
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 voyelle ouvert |
E | eh | Voyelle moyenne |
IH | ee | Voyelle fermée antérieure |
OH | oh | Voyelle postérieure arrondie |
OU | oo | Voyelle fermée postérieure |
Les personnages personnalisés avec des visèmes ou des morph targets/blend shapes 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 Pose Asset personnalisé
Suivez ces étapes pour créer un Pose Asset 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 (blend shapes) que vous souhaitez utiliser pour l'animation de synchronisation labiale. Il peut s'agir d'un mesh complet ou seulement d'un mesh facial, selon la conception de votre personnage.
2. Vérifiez les Morph Targets disponibles
Assurez-vous que votre skeletal mesh possède les morph targets appropriés pouvant ê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.
3. Créez 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 faciliter l'édition
4. Éditez 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 modifier les paramètres
- 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 jusqu'à la fin 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 correspondances répétées lorsque le jeu de visèmes de votre personnage ne possède pas de correspondances exactes pour chaque visème requis.
7. Animez chaque visème
- Pour chaque visème, animez les courbes de morph target pertinentes de 0.0 à 1.0
- Démarrez chaque animation de 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èmes 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 vérifier qu'ils fonctionnent comme prévu
9. Finaliser le Pose Asset
- Renommez chaque pose pour qu'elle corresponde aux noms des visèmes de la section Prerequisites
- Supprimez toutes les poses inutilisées
Configuration de la gestion audio et du blending
Une fois votre Pose Asset prêt, vous devez configurer les nœuds de gestion audio et de blending :
- Localisez ou créez l'Animation Blueprint de votre personnage
- Configurez la gestion audio et le blending 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 Pose Asset personnalisé au lieu du Pose Asset MetaHuman par défaut
Combinaison avec des animations corporelles
Si vous souhaitez effectuer la synchronisation labiale parallèlement à d'autres animations corporelles :
- Suivez les mêmes étapes que celles documentées dans le guide standard du plugin
- Assurez-vous de fournir les noms corrects des os du 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.