My Mind-numbing Journey to Rig an Oversized Eye

Over the past week or so, I have been working on trying to use a more bizarre, surreal style of animation for my characters in blender.

One major aspect of these characters I would really like to take on is creating large, oversized, bulging eyes. This is quite difficult to do, however, primarily because of the rigging required to do this.

These are the primary ways of rigging eyes:

  1. Shapekeys
    This method presents a lot of challenges, particularly because it often leads to the eyelid cutting through the eye mid-blink. I have found only one alternative with this method, and it holds promise, but I think I would need to see further examples for me to properly utilize it (as all my attempts so far have resulted in failure)

  2. Bones
    This method is difficult, messy, and leads to tedious animation. One way of approaching this is rigify. Quite consistently, this method has led to eyelids that sadly will not close properly. Along with this, rigify is not designed for the misshapen faces I am constructing.
    Another possible approach is using bones that stem from the center of the eye, such as what can be seen here. I personally have not yet attempted this method primarily due to how difficult it seems and my concern whether the results will truly be to my liking.

So, fellow blender artists, what would you recommend I try? Have any of you personally solved this problem? Any answers you give will be greatly appreciated. Thank you!!

I don’t see that this would be any different than rigging any other eye. Topology is paramount for this-- you might be tempted to use a different topo because of your head shape, but you still want those concentric circles that are common to realistic characters.

Shapekeys: One alternative to what you linked: Divide your shapekeys into two shapekeys. One contains the up-down vector, the other contains the other component of the vector. Using these two shapekeys, you can use sine and cosine of a control value to make the final shapekey curve.

Think about a shapekey from 0 degrees to 90 degrees along a unit circle: it’s linear, it clips the circle. Now divide it into two shapekeys, one containing X movement, the other containing Y movement, and control these from value theta. The circle is x = cos(theta) and y= sin(theta). You can do the same thing with a spherical eye in three dimensions. So if we shapekeyed from 0,1 to 1,0, we might use x=-1-cos(theta) and y=sin(theta). Mind, this isn’t perfect, and you might consider tuning it to eye; different vertices have a different starting angle. But it can be good enough.

Bones: I’m not sure if your problems with bones are specific to this shape? Properly set up, bones should not be tedious to animate, not any more tedious than making shapekeys. Once animated, the animation can be reused (perhaps in NLA, perhaps as an action constraint, perhaps just as a pose in a library.) Problems with eyes not closing properly are fixable, generally having to do with insufficiently strong weighting, but sometimes, about not enough bones being used.

Your link to “another” approach is not another approach. Nobody builds an eye rig out of just deforming bones. Such a rig is totally unusable. Yes, building a good eye rig takes some practice and work. If you wanted something that was already done well, you could start by stealing the eyelid bones from a rigify rig. There is such a thing as variation in an eye rig, more than one way to build it, so I don’t want to say that your link or rigify is the way to make eyes-- I’m just saying, deforming bones only is not a way.

3 Likes

Hello, @JetWink

This is a primary answer I’m providing, but I will need a bit more time to revise the content of the messages involved this topic.

Fundamentally, Eyelids Rigs can be very complicated.
But they are still not as complicated as certain Mouth Rigs can get.

An Eyelashes Rig (which is not the subject here) can be seen as an extension of an Eyelids Rig, and sometimes it is a challenge of its own. Because the Eyelids are in the interface between the Eyelashes an the Orbicularis Oculi muscle (skin region surrounding the Eye Holes), this is one thing that is able to render Eyelids Rig even more complicated sometimes.

The problem I have with Shape Keys’ solution for Eyelids Rig, is that Shape Keys lack ‘freedom’ of Posing on Pose Mode; as the Shape Keys are preset Morphs. Of course, combining different Shape Keys can develop desired expressions for the Eyelids, but I find it very difficult to solve because setting up good Shape Keys can be pretty obscure.

A Bones’ solution (I prefer to name it an Armature Deform solution) for Eyelids Rig, is easier when an Eyeball is a regular Sphere, or at least has got good Mesh Symmetry of its own. But when the Eyeball is an Asymmetric Mesh, simple mechanisms won’t solve the perfect sliding of the Eyelids over the curved surface of the Eyeball withouth problematic Interpenetrations. Then, a more sophisticated Armature Deform solution is required.

I’ve made a tutorial on this matter. It is a combination of Shrinkrwap Modifier (of the Eyelids Mesh Vertex Group Targeting the ‘Eyeball’ Mesh Object) and Bendy Bones Splines (which use Spline Skinning method, instead of regular Linear Blend Skinning method). Spline Skinning is better at handling curving Deforms, like the Eyelids’ Contours; of course this can be achieved with Linear Blend Skinning as well, but this requires ‘a legion of mini Deform Bones which hold some sort of Proportional Posing feature’; while the Bendy Bones Splines will just make this task much more accessible, even though it can only be used inside Blender (can still be Exported but requiring additional solutions on to of it).
If you’re interested in Armature Deform solution, the tutorial is very long though, so I recommend you to skip most of the “Fundamentals” and focus on the the Eyelids Mesh Topology, the Vertex Groups management, the making of Object Modifiers (for the Eyelids), the making of the Eyelids Bendy Bone Splines (Skeleton building), the Weight Painting of the Eyelids Mesh, and the setting up of Bone Constraints for the Eyelids Rig. This solution allows for what I call ‘Dynamic Eyelids Posing’, for more expressive Eyelids.

If you’re just doing the Eyelids and not working on complicated Eyelashes, then Eyelids on this method is not too hard to accomplish. I’m planning on making new content that will simplify some of these concepts, but it might take some time until it’s accessible.

Hope that gives some insight.

3 Likes

Could you elaborate this part, I know that “limitation” of linear based shape keys, in which you can’t make a rotation with a single shape key but only the move deltas (aka transformation) but I thnk there you are referring about rotation from the driver bone and not the shape key. But I don’t know if making a rotation with a shape key is now possible but more steps than necessary (like using a bone directly should suffice)

1 Like

Hello and welcome to the forum!

You have been given good advice so far. You are also correct that there are 2 primary ways to rigging eyes, or actually eyelids, shapekeys and bones. As to which method to use, that depends upon your desires/needs.

Using shapekeys will give you eyelids that can open and close. If that is all you are after, just blinking eyes, I would go this method.

If you want expressions from these eyelids - closing the eyelids more close to the nose, but opening more on the outside to express anger or open eyelids more near the nose and less on the outside to express curiosity or sadness, then you need to be using bones.

Just my thoughts


Randy

2 Likes

Years ago, I cranked out a lot of video tutorials on creating a cartoonish fish character. The character had big bug-out eyes and I used shapekeys to get the eyelids to work. The eyelids would only open and close. I used 2 shapekeys, 1st one moved the eyelid out, 2nd moved the eyelid down to close.

Here’s the video on creating the shapekeys. Next video covers setting up the drivers.

Randy

2 Likes

Yeah I feel old kinda looking at that blender version, feels nostalgic already


Yeah but not what I meant, try rotating a cube with a shape key to 90 deg in any axis and another on 180, basically it won’t work well when activating them


1 Like

Doesn’t matter what the control is. It can be a bone, it can be a shapekey, it can be anything. It’s not literally a rotation. It’s an adaptation to make things more rotatey.

Got the expressions mixed up above. Proper expressions are sin, 1-cos.

sinSKdemo.blend (132.8 KB)

Probably the same thing revolt-randy is talking about, although I didn’t watch that video.

Definitely won’t work outside of ±90 degree range-- not with just one divided shapekey. You can make multiples and chain them. But. eyelids don’t have to rotate past 90 degrees.

2 Likes

Step back to the 2.4x days and nostalgia turns into nightmare
 :scream:

Kinda, sorta, close. I see what you did in your example, I went a slightly different route. I created 2 shapekeys, a half-closed shapekey (Key1) and a full-closed shapekey (Key2). Key2 uses Key1 as it’s basis, so it’s one shapekey building on the other one.

Eyelid_Shapekey.blend (896.9 KB)

Different routes, same destination.

But like I said, if you want expressions from the eye lids

Then you need to be using bones, shapekeys would get complicated and messy


Randy

2 Likes