I'm trying to build this eye rig as seen in this video: https://www.youtube.com/watch?v=T8mgzIgz2Bs&t=392s

Onto a creature that has it's eyes on the side of it's head but not entirely. Because the eyes aren't facing forward or sideways, it's somewhere in between, thus I can't rotate those bones at all on any axis. If I do it on the X axis then it twists it, if I do it on the Y it twists it.

Is there a way to solve this or does this rig only work eyes that are explicitly facing one direction?

Here is how it looks with eyes open:

enter image description here

And this is how it looks with eyes closed:

enter image description here

  • $\begingroup$ I'm not sure it changes anything if the eyes are sideways, can you make a screenshot of your mesh+rigging or even share it? $\endgroup$ – moonboots Aug 8 '18 at 17:42
  • $\begingroup$ I just added screenshots showing what I mean in the post. $\endgroup$ – Pherion Aug 8 '18 at 19:22
  • $\begingroup$ Ok, so could you be more specific about the problem? Do you have problems with the eyeballs or with the eyelids? I guess you just need to put the tails of your bones on the centers of the objects (eyeball, eyelid) so that they rotate or close properly $\endgroup$ – moonboots Aug 8 '18 at 19:37
  • $\begingroup$ The eyelids. The problem is rotating them by limiting them to a certain axis. $\endgroup$ – Pherion Aug 8 '18 at 19:46

Your problem might be:

1) Good position of the roots and good orientation of the bones, so that, when they rotate, they do it in the good axis and in the right direction

2) Proper rigging of the eyelids.

Let's rig 2 demi-spheres that could be your eyelids:

  • Create an object with 2 distinct demi-spheres.
  • Create 1 armature with 2 bones with their root approximately at the centre of the sphere. Call these bones "eyelid_top" and "eyelid_bottom".
  • Parent the object to the armature with a ctrl P > Set Parent To > With Empty Groups. Now you've created 2 vertices groups called "eyelid_top", and "eyelid_bottom" but they haven't been assigned to any vertice of the mesh yet.
  • Select your object and in Edit mode, select the top demi-sphere and assign it the vertex group called "eyelid_top", then assign "eyelid_bottom" to the bottom demi-sphere. Now these meshes should move if you move the bones.
  • Now to constraint the bones, add them a Limit Rotation constraint on the axis you want, choose Local Space.
  • You could only constraint the top bone and choose to assign a Copy Rotation constraint to the bottom bone, so that when you rotate the top eyelid it automatically rotates the bottom eyelid. Don't forget to click on the Invert option of the constraint.
  • In Object mode rotate the whole armature on the Z axis so that it is oriented the way you want, according to the way they should be on your character's face.

Of course your eyelid meshes and bones should be part of the whole mesh and armature of your character, I'm just showing how to do it as if they were apart

enter image description here

Now let's imagine you've created eyes for a human face, they will be directed in the same direction as the head. If you need sideway eyes for another character, they will be directed sideways, and your bones need to be as well.

enter image description here

|improve this answer|||||
  • $\begingroup$ Good because first I realized it was not the kind of topology used in your video, but anyway what you need to do is just rotate the bones in the right direction so that the axis is correct. $\endgroup$ – moonboots Aug 9 '18 at 15:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.