Home Youtube GitHub

Eye rigger eye lid following aim ctrls


Hello Everyone,

Is there a way to make the eyelids follow along the rotation of the eye when using the aim control?

Thanks in advance.


I also would like to know


Yep, did you notice the vTracking and hTracking attributes on the eye controls?

eye_L_upMid_ctl and eye_L_lowMid_ctl


Changing these values(v tracking and htracking) doesn’t seem to do anything


Hi Ross,

When those attributes are above 0, the blink should animate when you rotate eye_L_aim_ctl. What are you doing or animating when it doesn’t work?


It does rotate when I use the aim_ctl. But isn’t it suppose to follow the eye Look ctl? How do I i set it up to follow the look at CTL by default?


I just aim constrain the parent group of eye_L_aim_ctl to my eye look-at controllers.

Something looks weird about the orientation of your eye controls. They look like they are pointing outwards at 45 degrees.


That’s how the eye rig builds it, I 'm not sure how to fix this. I followed the tutorial closely.
Now that I’m looking at it, Maybe it’s because both my eyes are combined as one mesh? Mgear created the eye_center joint in the center of the head.


Yes, that would be why. The script uses the center of the eye to place the joints.

You can separate your eyes. But what I do instead is keep two fake eyes inside my guide, and put those geometries in my eye config file. (I also do that because I don’t want my real eye geometry auto-skinned. I use constraints for my eyes.)


I have another issue on my right eye, the eyelids move in the oppose direction. When I rotate the aim right, the eyelids move left and when I rotate it left the eyelids move right. This doesnt happen on my left eye. What did I do wrong?


What did I do wrong?

What did you do?


This one is killing me. I’m doing everything right. It works well on the left eye but not the right.
Here’s my maya file:

Here’s a video of me setting up the eye:


Ah! Thanks for the video.

I followed your steps, and had the same problem. Then I looked at my characters, and have the same problem. I never noticed because I never use hTracking. Only vTracking.

You’ve found an official bug I think!

Here is a temporary script that can fix this for you. Run it after you built the right eye.

import pymel.core as pm

for eyeTrackName in ['eye_R_upMid_ctl', 'eye_R_lowMid_ctl']:
    eyeTrack = pm.PyNode(eyeTrackName)
    antiMult = pm.createNode('multiplyDivide')
    badMult = eyeTrack.hTracking.outputs()[0]
    eyeTrack.hTracking.connect(antiMult.input1X, force=True)
    antiMult.outputX.connect(badMult.input1X, force=True)


Thanks a lot, I’m jealous of the power you have with your scripting knowledge. It’s greek to me right now heck, it works! I’m becoming more and more motivated to learn this myself.


The bug reported by @chrislesage is in another topic. But just in case. Here is the link for the ticket in github

Thanks for reporting this :slight_smile: