How do you animate eyes from npcs.

I use a bit of both.

I’ve been experimenting with character animation using Michael 7 from Daz Studio and I started with the “look at” functionality.

In basic terms I created a function which takes in a simple vector which is the world location of the target you want to track. The function then calculate the look at rotations for both the eyes and the head/neck. It does some other stuff like limiting the rotations so that the head and eyes can’t rotate unrealistic amounts etc.

I then pass those 2 rotations to the animation blueprint for the character which simply applies the rotations to appropriate bones using the layered blend per bone nodes. It also applies some subtle morphs to the eyes lids etc.

how you do it depends a bit on how your character is set up. If you don’t have bones for the eyes then you could use morph targets.

The skeleton for this character has a bone for each eye and I’m also using the head and 2 neck bones for more realistic head tracking. The eyes and the head both track the target but at different speeds. The eyes track faster than the head. In the second half of the video I’ve slowed the head tracking right down so that the eye tracking is more noticeable.