Found a Facial Rig solution in Blender: Eyelids Blink with "Non-Linear" Shape Keys

¡Hi, there!

Since beggining of 2022 I have been stucked on this issue, trying lots of different solutions and tutorials, to no avail… Until today that is.

In the short video below, I show the correct result on my artwork, achievable through this “Non-Linear” Shape Key setup.
As we can see, the eyes are largely stylized, making any basic A to B Linear animation very inadequate; it needs some sort of “Breakown” frames, which, unfortunately, Shape Keys seem to be lacking. At least in my particular case, I couldn’t find any reliable approach which combined Shape Key and Drivers and using the Graph Editor; only one solution did show a certain mediocre result, meaning it only worked partially, while being incredibly complicated and sluggish to work with. Instead, I’ve eventually found this other way around…

The solution is actually pretty simple, although it involves a fine combination of tools.

Vertex Group: for the eyelids’ mesh —if it is inside the head/face mesh Object, which is usually the case.
Solidify Modifier: it will create the thickness of the eyelids’ faces (the eyelids must have no thickness otherwise).
SHAPE KEYS:
Basis (fully open eyelids): make sure to use “Snap: To Face” when positioning the eyelids vertexes exactly onto the surface of the Eye Object —because of the Solidify Modifier, we can immediatly see the eyelids modified thickness covering the eye while editing.
Key 1 (fully closed eyelids): same as before, use “Snap: To Face”
Note: Of course, if we test our Shape Key now, there should still be terrible interpenetrations between the meshes of the eyelids and the eye, since this is still but a Linear Shape Key transformation.
Shrinkwrap Modifier: Now comes the magic. Create this modifier (AND NEVER APPLY IT) and configure it to affect (also, as the Solidify Modifier) only the Vertex Group of the eyelids’ mesh. Also, the order of the Modifiers is fundamental here: the Shrinkwrap Modifier should come first (be above) the Solidify Modifier; if not, even the modified thickness of the eyelids will be “shrinkwrapped” onto the eye Object’s surface.

Finally, for some of the configurations on the Modifiers
Solidify:
Mode: Simple
Thickness: 0.025 m
Offset: 0.0000
Rim: Fill (check)

Shrinkwrap:
Wrap method: Nearest Surface Point
Snap mode: Outside Surface
Offset: 0.01 m

Essencially, we are compelling the eyelids mesh (which has only but illusory thickness, from the Solidify Modifier) to conform to the eye Object’s curved surface, on a “frame by frame” constancy while changing the Value of the Shape Key. The eyelids’ mesh (with each of its individual vertexes) cannot help but follow the generic orders from the eyeblink Shape Key, but having to strictly respect the flow over the tridimensionality of a curved surface such as of the eye Object. Thus, making this whole setup a possibility of achieving clear Non-Linear animations in Shape Key.
Shrinkwrap Modifier can oblige mesh elements to “flow” over another arbitrary surface. It is working here as an automatic “Face Path” or “Multi-Path” generator for the Linear Shape Key; it’s not operating on a single Path or for isolated vertexes or edges, but for an entire 3-dimensional, correctly deforming sheet —the eyelid mesh.

I’m really glad to have finally solved this issue which took me so long; I’m also very glad to share it. I’m sorry I couldn’t make any better presentation nor tutorial; I hope this is clear enough for now and may be useful.

So… ¡Happy Blending!

PS: Oh, don’t mind the extra Shape Keys that weren’t active at the Properties Editor (in the video) —they were from a recent and previous attempt. Here, we only require 2 Shape Keys: Basis+Key 1.

2 Likes

Hey that’s cool ! well done !
These kind of eyes are indeed quite tricky to rig !

I’m sure someone will make good use of that information, seems quite clear to understand !

2 Likes

Thank you, sozap.

Very nice is your feedback.

Tricky, indeed you are so right, that if this solution did not formed up unexpectedly today, my former strategy was to delay the solution to 3D Animation phase (since there would be no “eyeblink rig”); like, I was supposing one could just 3D animate a separated eyeblink in the Action Editor and then reuse it at will, like multiple, layered, cutout animations… ¿You see what I mean? What a bizarre plan… :laughing: I still don’t know if it would have worked, as I’ve never used Action Editor before —although I’m an animator, yes.

1 Like

hahaha, the joys of 3D animation !
Indeed having a separated eyelid mesh and use that could be a solution, quite tedious and limited …
What you’ve found is way better , and fit better the general style of the character and probably animation style too.
For very cut out and stylized animation style, it possible to have different objects that switch depending on the pose, it’s cool for animation but tedious to rig.

Another solution is to use a similar approach to the one you did but using bones.
At least it’s possible to shrinkwrap bones to an object, and with time and patience you can get a rig with more control on the eyelid shape. But it’s long to setup, and not bulletproof either.
At least it’s always possible to tweak the shape using the rig, so you get good deformations but this also need more animation time.

It should also be possible to use only shape keys, and do some correctives shapes etc…
But yeah it’s a lot of tweaking and back and forth until everything works .

In the end, you’re doing everything by yourself ? you plan to animate the character once rigged ?
If so, as it’s a lot of work it’s more than ok to go for the simple and effective solutions.

Oh, this sounds quite useful in many ways: the shrinkwrapping bones to an object. I think I have a use for this on my facial rig that is not about the eyelids… Actually, I was trying to make a setup for the lips’ Bones (which have Weight Paint) so that they would snap to the surface of the face (but an invisible duplicate of the face, like a human mask) while on Pose Mode. This face mask object would be smoothly simplified, still have a mouth opening but having a closed mouth, and should have its own rig (mostly because of the jaw Bone which usually causes the biggest changes to the face); it might also be interesting if it could be scaled up/down in Pose Mode, so to the chenge (extend/diminish) the depth on which of the lips’ Bones are positioned —I don’t know, maybe that’s useful for some facial expressions. Since it’s but a Modifier, It could also be suppressed monentaneously on any frame, to allow more diverse or wilder posing of the Bones. ¿Do you ever use Shrinwrap Modifier on this purpose for 3D Rigging/Animation?

Yah… I was able to try eyelids (with Shape Keys) on a separated object. It still worked for eyeblinks, but it didn’t look very organic at all. I’ve seen it would have much potential on different cartoon styles though. Well, why not share this “successful-yet-failed” attempt, ¿right? :smiling_face_with_tear:
Note: the reason Shape Keys mostly worked clean in this attempt, was because the eyelids’ mesh had a special, mechanic layout; it was also very offset.

I’ve indeed have attempted several, more organic eyelid blinks, using Shape Keys, Drives and the Graph Editor… also with Solidify Modifier. Even an Addon I’ve tried. But, no matter what I did, the closest I could get for a “perfect” result on those approaches, it always got imperfections. I’ve only concluded that the complex curved surface of these stylized eyes, cannot be matched by any of those tools alone; if it was a spherical eyeball (as they often show in tutorials), or even a symmetric eye surface, it would have worked naturally I guess; but it was not my case: the eye surface is more of a freeform shape, and it was made from a Nurbs Surface.
Perhaps, one simple way to fix this would have been (just as in the previous video) to make the eyelids’ mesh waaay more offset, although trying to preserve the organic structure —so that, no matter the linearity issues of the Shape Keys, the eyelids mesh would still fully cover the eyes’ surfaces. This could still lead to unnecessary extra volume and a feeling of “that’s the best I can do”; strangely enough, largely improving Solidify thickness of the eyelids to try to cover for the “errors”, couldn’t do the trick properly. I guess I would have had to setup many different (at least 3) Vertex Groups with different Solidify Modifiers degrees of different portions of the eyelids mesh… just to correct the limitations of Linear motion of the Shape Keys, which automatically generates bad “posing” for the eyelids mesh. So, if you check below, it really might look like I was pretty close, from back and forward tactics, to a definitive solution… but it was pretty misleading —in some sense.

Well, maybe I will not be able to do totally everything. But, yes, mostly everything. I’m kind of aware of this idea, and agree with you on the matter of procuring simple and effective solutions —I actually like this approach very much whenever possible. But on the 3D Modelling for example, the kind of style I was trying to achieve in 3D couldn’t work very-lowpoly… sadly, it is true I have literally wasted uncountable hours in trying to make an organic thing out of very-lowpoly, while the artistical demands required something “less simple”. I had therefore to agument a bit the overall mesh density and accept this new degree of complexification, with all its pros & cons. Still, I’m glad it doesn’t require to be a highpoly mesh, but just enough to secure organic potential on posing, for expressive action; in this sense, the facial rig requires lots of care.
For many other areas, like the universe graphics/design, the Render, and even some aspects of the Animation (like frame rate), I want to make it pretty simplified, but something that still looks good.

Wow… sorry for the long text. :sweat_smile:
You seem to have a nice background on the subjects revolving around 3D Animation; so thank you again for sharing your thoughts.

Hey !

Lot’s of text here :smiley:

It’s worth trying if you have time, but personally I wouldn’t go that way.
It’s possible to get a good result with shape keys only ( and a bone for the jaw) . A bone based solution will work too. I think it’s better to have something not perfect that you can tweak at animation time, rather than a lot of automation that will probably fail at some point. Then you need to counter animate the automation and it’s more painful.

For the eyelids, something that I found useful in some case is to have the eyes closed from the start, and the shape key open them. Either way, I always need a intermediate corrective shape when eyes are half closed. To fix what you have on your second video.

It’s really hard to make simple rigs that works, at least having something that works is already an achievement.
When I started I tend to over-complicate things a lot, now I manage to keep things simple and add complexity where it’s more needed. But I takes times to get there.

I’ve done rigging on different projects, as I don’t animate I try to work closely with animators. Different people will ask for different features on the rigs. Generally I’m surprised in what they want automated and what they prefer to fix or animate manually.
If you also animate, then you’ll have instant feedback on your rig and it’s easier to go back and forth and improve the rig.
I’m curious of the final result you’ll get ! Good luck !

1 Like

I’m intrigued by the “elegant” solutions. And since I’m on a fundamental learning process, I’m still quite unfamiliar with most solutions out there (especially regarding finished, polished Riggings); so anything looks challenging to me, experimental or well-established.
There exist indeed such ‘perfectionism’ pattern everywhere in creative fields for the begginers… and you seem to have identified it precisely in the Rigging domain… and it’s certainly affecting me. :scream: So it’s a nice advise. Only more recently I’ve become a bit less unconfortable with the idea of having IK without exact constraints for angle rotation limits for each joint of the armarture; similar with Bones with Weight Paint for freeform transformations on the facial expressions. So, all this absolute control is perhaps not of great relevance as it might first look like. I’m still struggling a bit with this 3D Rigging concept, because it feels ‘wrong’ or somehow unintuitive; on the other hand, I’m starting to understand a bit more why this approach might even become artistically advantageous (on some cases, as you have suggested); not just economically advantageous.

simple rigs that work: I’m afraid I can already relate to this issue… in fact, it has been one of the biggest challenges I’m currently facing on this character (besides the challenge of style adaptation from 2D to 3D)… I might be even doing better currently on the facial rig than in the whole body rig, in terms of good, well-polished results. Certain things are still a bit far from working apparently, but I’ll have to fix these no matter what at some point. Each might require a specialized solution, so it has really been a relatively slow progress for me to learn everything I probably need; the good part is that, learning Rigging while making it work in a fashionable way on your own 3D Characters, is quite an unpayable life satisfaction I didn’t felt for anything else in a very long time. :frog:

I’d be quite curious to learn about some of the animators special demands on rigs; might be an uncountable list though. :melting_face:

But that instant feedback, would also be an invitation to obsessive retakes after retakes. :laughing: So I feel like there is something very important to learn from the perspective of non-instant feedback rigging.

Sure; don’t worry, I’ll get you noticed when I finally reach another major step on this rig (I suspect it would be the complete facial rig, but it could also be on the whole character). Your feedback is very welcomed, thank you so much. :smiling_face_with_three_hearts: By the way, ¿do you showcase the characters you rig and/or model somehwere? ¡Cheers!

Hey !

Seems like you’re learning a lot on your own, it’s awesome !
Yes rigging takes a while to figure out, like many things in 3D, but it’s one of the trickiest !
Overcomplicating at first is a good thing IMO, as long as you’re learning and having fun you’re on the right path !

Hum, it’s really interesting to work for animators, at some point it’s needed to choose what can be improved or not, so even if the list might be long you end up doing pragmatic choice according to the budget and schedule. But most of the time it’s simple things or bugs they find while working with the characters. Animators can also manage to work with crappy rigs, that’s something that is quite impressive. But yeah it’s way better to give them good tools so they can concentrate on animating rather than working around the rig.
If you get a character ready you can try to post it there and look for animators feedback !

You can look at some of my rigging work on my vimeo page , there isn’t that much, but still :

Some other projects where I’ve done character rigging :

2 Likes

Hi, again! I’m pretty sorry for this long delay on my answer.

Well, that is recomforting. Believe me, there were times (while still trying to find the solution proposed on this topic) I was “pulling my hair out” and wanted to give up. Those earlier, more obscure times have come to pass finally for me.

That’s a really intriguing option I didn’t know about.

¡That’s really incredible 3D stuff! Plenty of nice productions you’ve been on. Congrats on all those Riggings.

I love how you make the characters rigs so smooth and quite precise, with often a good evaluation of the amount of details requirements. I was also impressed by the simplicity and cleanness of the rigs seen on the 1st one (it kinda shows, perhaps, a bit of your main approach on rigging those kind of cartoon characters); also, that asset holding looks quite a funny feature to work with. The Pose Library, sounds particularly good. :wink:

¡¡Ooh, les voix originales chez les super Trucks!! C’est super. (I’m not French btw, but I speak French fluently; I’ve been there around 2007. By that time I was more driven by 2D Animation stuff and barely knew anything about Blender; still, on that occasion, I’ve participated modestly as a ‘stagiaire’ on a 3D TV Series production (it was Adibou: Objectif Terre) as an ‘Assistant de Production’. That complex experience might have influenced much of my life choices later on —even though it did took a looong time. :sweat_smile:

I’ve got another curiosity: ¿Do you happen to prefer creating and rigging certain types of characters —I can only guess it should be on the ‘cartoonish domain’ of course— or maybe you have more like an/a open/versatile/generalist aesthetic approach on the character design matter? I ask because I have a historical, artistic struggle with being more versatile; and this also occurs to me on 3D (like in Rigging now, as I am in a indie game team and have to rig some more or less realistic, yet relatively simplified and not high poly, characters).

Thank you again for sharing your ideas and your artwork.
Cya next time.

Hey Cool !

That’s fun that you worked on animated series, was it at TeamTo ?

I’m not at ease with 100% realistic characters, but I think I can manage to some extend if I was asked for it. Because rigging is technical I see more some problems to solve and UI/UX design than the subject. It’s also interesting to adapt to a certain style.

I think it’s natural to be versed in a particular style of your own.
From there , you either decide to explore the boundaries of this particular style like they do : https://pokedstudio.com/
But it’s also possible to adapt to many styles, that’s quite interesting too.
My personal work is a bit different from what I do professionally, but doing different things at work as helped me a lot to learn, even tho now I’d like to progress more on the artistic side of things rather than technical ones.

2 Likes

Yes, yes; it was TeamTo. At that time still, I think they were mostly starting to engage on deeper, international 3D Animation Co-Productions. The 3D production itself of Adibou: Ojectif Terre was an outsourced project from Télé Image Kids at the time; noneletheless, many of the staff from both 2D and 3D gathered to work at the same place (TeamTo’s studio), so it was pretty good for a lot of exchanges, with other parallel projects, with different staffs, working around. Naturally, the expensive 3D Animation steps were themselves outsourced to some Asian studios —budget is thinner for most TV series in general. Maybe you even know people that I’ve met; depending on the region, it’s a relatively small world, the Animation business; this is something I’ve eventually discovered in funny way sometimes. :laughing:

Nicely put. Looks like a good perspective; at least in Portuguese, there’s an expression that can relate to that particular strategy that would translate as: “Eat around the edges.”

I understand. I think for most creators there’s always some balancing to be done. Working on other’s projects may help us uncover new solutions or potentials that we would never have addressed if we sticked only to our main issues; on the other hand, all those varied working/collaborative experiences should be able to turn back into valid resources for our more authoral artwork/project/production at some point, especially if we aspire for such.

1 Like

Awesome !
I’m sure it was a great experience to be at that company at that time !
And indeed it’s a small world !
Good luck for finishing your rig and feel free to poke me if you want me to look at something !

¡Thank you, sozap!

Also, for the very nice and comprehensible conversation.
I wish you best inspiration on your projects.

Btw, I’ve just started to re-update an old WIP topic of that model character of mine on the forum, so that you should be able to easily check how the Rigging will be progressing —I guess I see Rigging not just as a backbone, but as a paramount feature on that kind of project; I guess I might say I currently feel Rigging is an Art form in itself.

¡Cheers!

1 Like

Cool !
I’ll follow along your progress on your character !
The concepts are nice ! Have fun rigging it and spare a little energy to make some cool animation with it too !

1 Like

¡Thank you!

The whole body might take a little longer, but I think I will be able soon enough to exercise animations with the head+facial rig —instead of just frame posing screenhots.
It’s actually a pretty smart proposition I was not thinking about; and as I will have to get familiar to 3D Animation in Blender anyways. I might start showcasing those animation ‘sketches’ in a porfolio in SketchFab for exemple, instead of waiting for the whole character Rigging to be completed. Though, I’d prefer to finish the hair at least.

¡À plus!

1 Like