Metahuman C_eyesAim looking down?

Hey folks,

I am using Unreal Engine 5.5.3, and I would like my Metahuman to look at the player. Not using Sequencer, but the PostProcess AnimBP and Control Rig.

I’ve been following this tutorial for this: https://www.youtube.com/watch?v=Xg1s8bliOUs&ab_channel=SpicyGameIngredients

But like many in the comments and the channel’s Discord, I am experiencing an issue with the character gazing downwards? The interesting bit to me is, that this doesn’t happen in the AnimBP/PostProcess BP, and only on the skeletal mesh directly.

Here are my steps:

  • Open ‘Metahumans/Common/Face/Face_PostProcess_AnimBP’

  • In the AnimGraph, add a Control Rig node before ‘AnimNode_RigLogic’

  • Use ‘Face_ControlBoard_CtrlRig’ as the Control Rig

  • Expose the pins ‘CTRL_lookAtSwitch’ and ‘CTRL_C_eyesAim’

:warning: When changing CTRL_lookAtSwitch to 1, the character’s FaceMesh has the eyes looking down, but only on the Mesh directly and not in the PostProcess or AnimBP.

Screenshots:

:white_check_mark: Metahumans/Common/Face/Face_PostProcess_AnimBP’:

:white_check_mark: Face_ControlBoard_CtrlRig:

:x:FaceMesh skeletal mesh:

Any ideas what could cause this and how to fix it? Thanks in advance!

Hi! The tutorial seems legit and offers better (and better explained) solution than mine, shame i didn’t see it earlier!

Although i’m not sure if we need to place C_EyesAim exactly on imaginary plane as said in video, i got away with feeding it world coordinates just fine. But please tell me if you have better solution!

To make metahuman look exactly where i want it, i made three sockets:

  1. Eyes aim socket, approximately where this aim thing is (i couldn’t place it exactly, because different metahumans have different head height, but same skeleton, so i just compromised.)
  2. Left eye socket
  3. Right eye socket


The pivot of the sockets matters, since i will use it in transforms calculations. Also, because i use sockets, i can no longer worry about scaling the mesh or rotating. In solution from the video, i assume, scale would break things because of hardcoded values.

Now we calculate relative transform. As you see, rotation is probably unnecessary, but i left it in case i misremember something. So definitely try it without rotation first, to not create two redundant sockets for eyes

Blueprint graph

Then i simply save calculated value and pass it in control rig