Advanced Eye Rig w/Nodes - Getting Eyelids to follow the Eyes
Advanced Eye Rig w/Nodes – Getting Eyelids to follow the Eyes
I’m sure you’ve all seen this in rigs you’ve gotten in class or from creativecrash.com, but couldn’t find any information on how to do it yourself. Until now! This is my most ambitious tutorial to date. I’ve provided a finished reference file as well as a starting practice file for you to work with.
AdvEyeRigStart.rar <– File for you to practice on
AdvEyeRigFinish.rar <– Finished reference file (Please refer to this file before you ask me any questions)
The main idea of this type of rig is that you have dual control over the eyes. You can control it via the EyeCTRL (joystick) or the movable EyelookAtCtrl which can be constrained to objects in the scene. You can’t do both at the same time hence the blend ctrl to go from one type of control to the other. This is why we have the joystick bones and the aim bones. One set will be driven by the joystick and the other will be aim constrained to the EyelookAtCtrl.
1. I’ve done quite a bit for you in the setup of the practice scene so I’m going to give you a quick rundown of what you need to setup before we dig deep into the hypershader. First you’ll need to set up the bones that will be controlling the eyes and the eyelids. There will be two, two joint chains to control the eye movement and two individual joints to control the upper and lower eyelids. These are stacked on top of each other and they all start at the center of the eye. You need to group the joystick bones and put the pivot to the middle of the eye and do the same for the aim bones. Later on we will apply an orient constraint to the R/L EyeGRPJoyStick and an aim constraint to the R/L EyeGRPAim.
2. Next you must setup the controls that you’ll be using, this includes:
- Right/Left EyeDialateCtrls
- Right/Left EyeJoyCtrls
Quite a bit of control huh? Please note that Right/Left EyeJoyCtrls are individually grouped and that the group pivot is in the middle of the R/L eye. This is important because we will be applying point constraints to the group instead of the control.
3. We are now going to start applying all of the constrains. You don’t need to have maintain offset checked. Select the LEyeJoyCtrl and then the LEyeGRPJoyStick and apply an orient constrain. Do the same for the REyeJoyCtrl and REyeGRPJoyStick. Next select the LEyeCTRL and the LEyeGRPAim and do an aim constrain with the aim vector being 1 in Z instead of X (because the eyes are facing the Z axis). Then do the same with the REyeCTRL and the REyeGRPAim. Now for the last constrain select LEyeGRPJoyStick then LEyeJoyCtrlGRP and do a point constrain. Do the same with REyeGRPJoyStick and REyeJoyCtrlGRP.