Aides à l'animation des yeux
En plus du lip sync, le plugin Runtime MetaHuman Lip Sync inclut deux utilitaires optionnels pour animer les yeux des MetaHumans :
- Auto Blink : un assistant qui produit des clignements d'yeux naturels et aléatoires sur un MetaHuman
- Eyes Aim : un nœud d'Animation Blueprint qui fait regarder les yeux d'un MetaHuman vers un emplacement dans l'espace monde
Ces fonctionnalités sont totalement indépendantes du lip sync et peuvent être utilisées seules, ensemble, ou combinées avec les nœuds de lip sync. Elles sont conçues comme des assistants légers et prêts à l'emploi pour ajouter un comportement oculaire réaliste sans avoir à le créer manuellement.
Aperçus des fonctionnalités
Si votre pipeline d'animation faciale inclut déjà des clignements et un regard dynamique, vous pouvez ignorer cette page. Ces assistants existent pour les cas où vous souhaitez un comportement oculaire réaliste sans avoir à l'encoder vous-même, par exemple, lorsque vos séquences d'animation n'incluent pas de clignements, ou lorsque vous avez besoin que les yeux suivent dynamiquement une cible en mouvement (ce que les séquences d'animation statiques ne peuvent pas faire). Ils peuvent également être superposés par-dessus des animations faciales existantes pour ajouter des éléments manquants, comme des clignements sur une séquence qui n'anime que la bouche.
Auto Blink
L'assistant Auto Blink produit des clignements oculaires aléatoires et naturels en pilotant les courbes CTRL_L_eye_blink et CTRL_R_eye_blink du Control Rig du visage MetaHuman.
Comment ça fonctionne
À chaque frame, vous appelez Update MetaHuman Auto Blink depuis le Event Graph de votre Face Animation Blueprint et vous lui transmettez le temps delta de la frame. La fonction :
- Suit l'état par personnage (prochain temps de clignement, phase ouverte/fermée actuelle, etc.) indexé par l'
AnimInstanceappelant - Renvoie deux valeurs flottantes dans la plage 0..1, une pour l'œil gauche et une pour l'œil droit, représentant le degré de fermeture de chaque œil
- Vous stockez ensuite ces valeurs dans des variables Blueprint et les alimentez dans le nœud Control Rig dans l'Anim Graph
Configuration
Deux étapes : ajoutez l'appel de clignement à votre Event Graph, puis alimentez les valeurs dans un nœud Control Rig dans l'Anim Graph.
1. Event Graph : piloter les valeurs de clignement à chaque frame
Dans votre Face Animation Blueprint (par exemple Face_AnimBP ou votre version dupliquée/copiée, voir le Guide de configuration), ouvrez le Event Graph et ajoutez ce qui suit à Event Blueprint Update Animation :
- Appelez
Update MetaHuman Auto Blink - Connectez Delta Time X (de l'événement) à Delta Seconds
- (Optionnel) Configurez la structure Config. Les valeurs par défaut sont déjà naturelles
- Promouvez Left Blink Value et Right Blink Value en tant que variables Blueprint (par exemple
LeftBlinkValue,RightBlinkValue)

2. Anim Graph : alimenter les valeurs dans le Face Control Rig
Dans l'Anim Graph du même Animation Blueprint :
- Placez un nœud Control Rig après toute autre logique faciale qui pourrait écrire dans les courbes de clignement oculaire (par exemple après
Blend Runtime MetaHuman Lip Syncet toutes les couches d'animation faciale personnalisées) - Dans le panneau Details du nœud, définissez Control Rig Class sur le Control Rig du visage de votre MetaHuman. Le chemin est typiquement :
/All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig- Votre projet peut avoir un chemin différent selon la façon dont le MetaHuman a été importé.
- Dans le panneau Details, développez la section Input et activez Use Pin pour :
CTRL_L_eye_blinkCTRL_R_eye_blink
- Connectez votre variable
LeftBlinkValueàCTRL_L_eye_blink - Connectez votre variable
RightBlinkValueàCTRL_R_eye_blink

Placez le nœud Control Rig après les nœuds de blend du lip sync (et tout autre nœud d'animation faciale) afin que les valeurs de clignement ne soient pas écrasées par une autre logique.
Configuration
Le nœud Update MetaHuman Auto Blink accepte une structure Config optionnelle. Les valeurs par défaut sont déjà naturelles pour la plupart des personnages, développez ci-dessous si vous souhaitez ajuster le comportement.
Propriétés de configuration
Timing
| Propriété | Défaut | Description |
|---|---|---|
| Min Time Between Blinks | 2,0 s | Intervalle minimum entre les clignements lorsque les yeux sont complètement ouverts. |
| Max Time Between Blinks | 4,0 s | Intervalle maximum entre les clignements. L'intervalle réel est randomisé entre le min et le max. |
| Min Closed Hold Time | 0,04 s | Temps minimum pendant lequel les yeux restent complètement fermés. |
| Max Closed Hold Time | 0,08 s | Temps maximum pendant lequel les yeux restent complètement fermés. |
Interpolation
| Propriété | Défaut | Description |
|---|---|---|
| Close Interp Speed | 35,0 | Vitesse lors de la fermeture des yeux. Les humains ferment les yeux plus vite qu'ils ne les ouvrent, donc cette valeur est intentionnellement plus élevée que la vitesse d'ouverture. |
| Open Interp Speed | 18,0 | Vitesse lors de l'ouverture des yeux. |
| Closed Threshold | 0,97 | Valeur à laquelle le clignement est considéré comme "complètement fermé" et la phase de maintien commence. |
| Open Threshold | 0,02 | Valeur à laquelle le clignement est considéré comme "complètement ouvert" et le prochain clignement est planifié. |
Divers
| Propriété | Défaut | Description |
|---|---|---|
| Independent Eyes | false | Lorsque true, l'œil gauche et l'œil droit clignent indépendamment avec un timing séparé. Lorsque false (défaut), les deux yeux clignent parfaitement en synchronisation. |
bEnabled (broche de fonction) | true | Lorsque false, les yeux se rouvrent doucement et le clignement s'arrête. Utile pour les cinématiques, le sommeil, la mort, etc. |
Contrôle à l'exécution
Vous pouvez également appeler Reset Auto Blink State pour effacer explicitement l'état interne d'une AnimInstance donnée (par exemple lors de la réapparition d'un personnage ou du changement d'état cinématique).
Eyes Aim
L'assistant Eyes Aim est un nœud Animation Blueprint (Runtime MetaHuman Eyes Aim) qui fait en sorte que les yeux du personnage suivent un emplacement dans l'espace monde — par exemple, la caméra du joueur, un autre acteur, ou toute cible en mouvement. Il prend en charge le verrouillage du lacet/tangage, le lissage, la protection anti-retournement lorsque la cible passe derrière la tête, et des micro-saccades optionnelles pour un réalisme accru.
Choisir un mode
Le nœud prend en charge deux modes, sélectionnés via la liste déroulante Mode dans le panneau Details du nœud :
| Mode | Ce qu'il pilote | Où le placer |
|---|---|---|
| Curves (défaut) | Les courbes de regard oculaire du Control Rig du visage (CTRL_expressions_eyeLook*) | Dans le Face Animation Blueprint (par exemple Face_AnimBP), avant le nœud Control Rig |
| Bones | Les os FACIAL_L_Eye / FACIAL_R_Eye directement, en contournant le Control Rig | Dans le Face Post Process Animation Blueprint (par exemple Face_PostProcess_AnimBP), après le nœud AnimNode_RigLogic |
Le mode Curves est le mode par défaut recommandé. Il se compose proprement avec d'autres systèmes faciaux basés sur les courbes (lip sync, expressions, blendshapes ARKit, etc.), car les valeurs sont combinées via l'évaluation normale du Control Rig plutôt que de se battre pour les transformations des os.
Sur certaines variantes de MetaHuman (notamment les rigs plus anciens, y compris certains téléchargés via Quixel Bridge), les courbes de regard oculaire ne pilotent pas réellement les yeux. Le symptôme visible est que les yeux regardent vers le bas avec les pupilles presque cachées lorsque le nœud en mode Curves est actif, quelle que soit la position de la cible.
Si vous voyez cela, passez en mode Bones. Le mode Bones fait directement pivoter les os des yeux, il fonctionne donc sur toutes les variantes MetaHuman, quelle que soit la façon dont le Control Rig est câblé. Voir l'onglet Bones dans Configuration ci-dessous.
Configuration
- Mode Curves (défaut)
- Mode Bones (solution de repli)
La configuration par défaut. Le nœud se trouve dans le Face Animation Blueprint standard et pilote les courbes de regard oculaire du Control Rig du visage.
Deux étapes : ajoutez le nœud à votre Anim Graph, puis alimentez-le avec un emplacement cible depuis le Event Graph.
1. Anim Graph : ajouter le nœud
Dans l'Anim Graph de votre Face Animation Blueprint :
- Ajoutez un nœud
Runtime MetaHuman Eyes Aim - Laissez Mode réglé sur Curves dans le panneau Details
- Placez-le après toute autre logique faciale qui pourrait écrire dans les courbes de regard oculaire (lip sync, animations personnalisées, etc.), même principe que le nœud Control Rig Auto Blink
- Connectez la pose existante à Source Pose
- Connectez la sortie au nœud suivant dans votre chaîne (ou
Output Pose) - Créez une variable Blueprint de type
Vector(par exempleTargetWorldLocation) et connectez-la à la broche Target World Location du nœud. Vous mettrez à jour cette variable depuis le Event Graph à l'étape suivante.

2. Event Graph : alimenter un emplacement cible
La broche Target World Location attend un FVector dans l'espace monde. Un cas courant est de faire regarder le MetaHuman vers la caméra du joueur. Dans Event Blueprint Update Animation :
- Obtenez Player Camera Manager (Player Index 0)
- Vérifiez Is Valid
- Si valide, appelez Get Camera Location
- Stockez-le dans la variable Blueprint
TargetWorldLocation

Pour suivre un acteur arbitraire (PNJ, objet, point d'intérêt) à la place, obtenez l'emplacement de cet acteur à chaque frame et stockez-le dans la même variable. Pour un point de regard fixe, définissez Target World Location une fois ou comme une constante dans le panneau Details du nœud.
Utilisez cette configuration si l'approche en mode Curves ne fonctionne pas pour votre variante MetaHuman (voir l'avertissement ci-dessus). En mode Bones, le nœud fait directement pivoter les os des yeux et doit s'exécuter après que le Control Rig a fini son évaluation, ce qui signifie qu'il appartient au Face Post Process Animation Blueprint plutôt qu'au Face AnimBP standard.
Trois étapes : localisez le Post Process Anim BP, ajoutez le nœud après RigLogic, puis alimentez-le avec un emplacement cible depuis le Event Graph de ce blueprint.
1. Localisez le Face Post Process Anim BP
- Ouvrez le Skeletal Mesh du visage de votre MetaHuman (par exemple
Facedans le dossier de votre MetaHuman) - Dans le panneau Details de l'actif, trouvez le champ Post Process Anim Blueprint
- Ouvrez cet actif, il est généralement nommé quelque chose comme
Face_PostProcess_AnimBP
2. Anim Graph : ajouter le nœud après RigLogic
Dans l'Anim Graph du Face Post Process Anim BP :
- Localisez le nœud
AnimNode_RigLogicexistant (il convertit les courbes du Control Rig du visage en transformations d'os) - Ajoutez un nœud
Runtime MetaHuman Eyes AimaprèsAnimNode_RigLogicet avantOutput Pose - Dans le panneau Details du nœud, définissez Mode sur Bones
- Connectez
AnimNode_RigLogicà la Source Pose du nœud Eyes Aim - Connectez la sortie du nœud Eyes Aim à
Output Pose - Créez une variable Blueprint de type
Vector(par exempleTargetWorldLocation) dans ce Post Process Anim BP et connectez-la à la broche Target World Location du nœud

Les références d'os par défaut (FACIAL_L_Eye et FACIAL_R_Eye) correspondent au squelette facial MetaHuman standard. Si votre personnage utilise un squelette personnalisé avec des noms d'os oculaires différents, remplacez-les dans le panneau Details du nœud sous la catégorie Bones.
3. Event Graph : alimenter un emplacement cible
Étant donné que le nœud se trouve dans le Post Process Anim BP, la logique de l'emplacement cible doit également vivre dans le Event Graph de ce blueprint, pas dans Face_AnimBP. La configuration est identique au mode Curves (obtenir l'emplacement de la caméra, l'emplacement d'un acteur, ou utiliser une constante), mais effectuée à l'intérieur de Face_PostProcess_AnimBP.

Toute logique non liée (lip sync, auto blink, etc.) peut rester dans le Face AnimBP standard. Seul le calcul de l'emplacement cible pour Eyes Aim doit être déplacé ici. Le Face Control Rig pilote de force les os des yeux à chaque frame en fonction de ses courbes. Si le nœud Eyes Aim s'exécutait dans le Face AnimBP standard (avant le Control Rig), le Control Rig écraserait les rotations des os par la suite. Le Post Process Anim BP s'exécute après que le Control Rig a produit ses transformations d'os finales, c'est donc l'endroit approprié pour appliquer les rotations d'os finales qui doivent "gagner".Pourquoi le mode Bones a-t-il besoin du Post Process Anim BP ?
Configuration
Tous les paramètres sont exposés dans le panneau Details du nœud Runtime MetaHuman Eyes Aim.
Visée & Verrouillage
Visée
| Propriété | Défaut | Description |
|---|---|---|
| Mode | Curves | Sélectionne la façon dont les yeux sont pilotés. Voir Choisir un mode. |
| Target World Location | (0,0,0) | Point dans l'espace monde que les yeux regardent. Exposé en tant que broche par défaut. |
bEnabled | true | Lorsque false, les yeux reviennent doucement vers l'avant et ignorent la cible. Exposé en tant que broche par défaut. |
Verrouillage
| Propriété | Défaut | Description |
|---|---|---|
| Max Yaw Degrees | 35° | Déviation horizontale (lacet) maximale par rapport à la direction avant de la tête. Verrouillé entre 0 et 80. |
| Max Pitch Degrees | 25° | Déviation verticale (tangage) maximale par rapport à la direction avant de la tête. Verrouillé entre 0 et 80. |
| Anti Flip Behind | true | Empêche les yeux de se retourner lorsque la cible passe derrière la tête. |
Lissage & Saccades
Lissage
| Propriété | Défaut | Description |
|---|---|---|
| Interp Speed | 12,0 | Vitesse de lissage pour le mouvement des yeux. Plus élevé = plus vif, plus bas = plus languide. |
Saccades
Les micro-saccades sont de minuscules déplacements aléatoires du regard que les yeux réels effectuent constamment. Les ajouter évite l'aspect "œil mort" d'un suivi parfaitement lisse.
| Propriété | Défaut | Description |
|---|---|---|
| Enable Saccades | true | Active/désactive les micro-saccades. |
| Saccade Yaw Amplitude Deg | 1,5° | Gigue horizontale maximale par saccade. Les petites valeurs (1–2°) semblent naturelles ; les valeurs plus grandes donnent un aspect saccadé. |
| Saccade Pitch Amplitude Deg | 1,0° | Gigue verticale maximale par saccade. Généralement légèrement inférieure à l'amplitude de lacet. |
| Min Saccade Interval | 0,6 s | Temps minimum entre les saccades. |
| Max Saccade Interval | 2,5 s | Temps maximum entre les saccades. Les valeurs plus grandes semblent plus calmes, les valeurs plus petites semblent plus agitées. |
Os (mode Bones uniquement)
| Propriété | Défaut | Description |
|---|---|---|
| Left Eye Bone | FACIAL_L_Eye | Nom de l'os de l'œil gauche. Correspond au squelette facial MetaHuman standard. |
| Right Eye Bone | FACIAL_R_Eye | Nom de l'os de l'œil droit. Correspond au squelette facial MetaHuman standard. |
Calibration (mode Curves uniquement)
Ces valeurs définissent comment les angles dans l'espace de la tête sont mappés aux valeurs des courbes de regard oculaire du Face CR MetaHuman. Les valeurs par défaut sont réglées pour le Face CR MetaHuman standard et ont rarement besoin d'être modifiées.
| Propriété | Défaut | Description |
|---|---|---|
| Yaw Degrees Per Unit Curve | 30° | Angle qui correspond à une valeur de courbe de 1,0 pour les courbes de regard en lacet. |
| Pitch Degrees Per Unit Curve | 25° | Angle qui correspond à une valeur de courbe de 1,0 pour les courbes de regard en tangage. |
Combinaison avec le Lip Sync et d'autres animations
Les deux assistants sont conçus pour coexister avec les nœuds de lip sync du plugin et toute animation faciale personnalisée que vous avez déjà. La règle générale : placez les nœuds Eyes Aim et Control Rig (auto-blink) après le lip sync et toute animation faciale personnalisée, afin que leurs valeurs ne soient pas écrasées en aval.
Voir l'organigramme d'exécution détaillé (mode Curves vs. mode Bones)
Selon que votre rig MetaHuman utilise le mode Curves recommandé ou le mode Bones de repli, l'emplacement de votre logique d'exécution changera. Développez le tableau ci-dessous pour voir l'ordre d'exécution exact pour les deux pipelines :
Le clignement automatique des yeux et le lip sync restent dans l'AnimBP facial standard dans les deux modes.
Pour plus de détails sur la superposition avec les animations corporelles, consultez Combinaison avec les animations existantes.
Remarques et limitations
Ces assistants sont spécifiques aux MetaHuman. Ils reposent sur les noms de courbes standard du Control Rig facial MetaHuman (CTRL_L_eye_blink, CTRL_R_eye_blink, CTRL_expressions_eyeLook*) et les os oculaires standard (FACIAL_L_Eye, FACIAL_R_Eye). Ils ne sont pas destinés aux personnages personnalisés non-MetaHuman.
Besoin d'aide ?
Pour les demandes de développement personnalisé, contactez [email protected].