Any tips for getting stylized eyelashes to work right with the Rigify face rig?

Hello!

I already rigged my character’s face with the Rigify rig, but of course her big, more stylized eyelashes aren’t cooperating.


Even worse…

Obviously it feels like the solution to keep the face rig the way it is is to use shape keys and turn the eyelid controls into a driver, but how would you go about doing that while also making it work alongside the main eye control moving left and right? Or is there some other, easier method?

I feel like the only solution is just to put in the work but hey, might as well ask anyway lol

2 Likes

As someone who has recently spent a good couple of weeks trying to work out animation and rigging for eyelashes, I am pretty sure there is no ‘easier’ method.

It’s all just a pain in the neck.

I assume you currently have the eyelashes as separate objects from the face?
If so and given the somewhat more simplistic and stylized look of your character, I’d be very tempted to just make them fully part of the face and basically extrude out as part of the eyelid.

That way the main eyelid bones would just deform it all at once.

That will of course introduce a new problem, in that while the eyelid edge will all match and flow together, the long outside edge of the eyelash will no doubt move and look wrong and any attempt to try and adjust it with the eyelid bones, like rotating them, will stuff up other things.

The solution and what I had to do, was to actually add a whole new eyelash bone chain that is then weight painted along the outside of the eyelash, giving me a second set on controls that only adjusts the eyelashes.

Looking at the metarig:

The red line is the default eyelid bones.
While the yellow line, is a whole new bone chain I added for the eyelashes, while the black object is of course the eyelash mesh.

Once generated, that gives me two sets of rig controls that work much the same, so to animate a blink for example, I pull both sets of controls down together and once the eye lid is closed, I then only adjust the outside eyelash controls (yellow line) till I get the result I want.

Or you can shape key the whole lot, but for an eye that will likely take on a range of shapes, that could get very messy very quickly.

1 Like

Hi; I don’t know for Rigify Addon, but I assume it is plausible to create a Custom Rig for the Eyelashes inside the already Generated Rig.

To my experience, complex shaped, large and stylized Eyelashes represents one of the most difficult challenges in Organic Rigging in Blender. I agree with @thetony20 on this point: the methods which make the Eyelash Mesh Geometry directly Connected to its respective Eyelid Mesh Geometry (so, Eyelash Mesh as natural continuation of Eyelid Mesh, in the same Mesh Object) requires lesser complicated Mesh “gluing” solutions, although as a counterpart requires more attention to organization in order to restrict certain delicate relations between such Meshes which are basically continuous but on certain aspects need to operate as if they were discontinued. This includes very precise use of Vertex Groups, for Visibility, Weight Paint and Object Modifiers. Also, Shape Keys including possible Corrective Shape Keys method for Eyelashes can be a bit too complicated… it’s feasible, but it can be a bit too restrictive to compose diverse Eyelashes expressions on a, possibly, already varying expressions of the Eyelids themselves.

Actually I have a more interactive setup for stylized Eyelashes Rig; maybe not better, maybe not simpler, but probably more dynamic: it uses Spline Skinning (using Bendy Bones, but on Bendy Bones Sets Sequences) for Eyelids Rig, while for the Eyelashes Rig, there is the use of Copy Location & Transformation Bone Constraint [the latter works similar to a Driver] on each Eyelash Bone,
I’m not 100% sure Spline Skinning is absolutely fundamental for the Eyelids Rig (which has some influence on the smooth quality of the Eyelashes Rig), but what I’ve noticed is that Spline Skinning tends to offer a great deal of smoothness to the Eyelids Deformations, which in turn gives more wavy motion to that kind of Eyelashes Rig.

So here is an early demo of a proposition; maybe you’d like to try something like that:

And here is a giant tutorial which I’ve already fully recorded, however I’m having astronomic difficulty in completing the video edition (which I’ve started in January and still there are hours of content to video edit) —so I’m still publishing slowly and occasionally the remaining parts. Fortunately, at least the Fundamentals, as the early part, is published (so it is plausible to at least check and conceptually understand what this solution is about and how it works in more details); for Step-by-Step, unfortunately, because it’s sort of an Integrated Eyes Rig tutorial, and the Eyelashes are usually the last logical step to develop for each one of the feature ‘sprints’ (Modelling, Object Modifiers, Making Bones on Edit Mode, Weight Painting, Bone Constraints on Pose Mode…), there is still a lot of content yet to be published.
This is an original solution, maybe you find it plausible to reproduce, totally or to some extend, or at least get inspiration from it.

Hope that helps. This is a very complex subject and there are certainly many different interesting solutions to it, although most of them I guess are Advance ones.

1 Like

Thank you SO much for the responses! I’m definitely going to land on using bendy bones for it, although it’s going to take a lot of work to get it working right. I feel like I at least know what I need to do to make


1 Like

Welcome, and glad these concepts could be helpful.

I had edited my first post a few moments after I posted it; so I hope you read the corrected version.

This alternative of making the Eyelashes Rig with Bendy Bones is interesting;
maybe you can achieve something I couldn’t with Spline Skinning;
Some time ago, I’ve attempted to make the Eyelashes also with Spline Skinning, but another method than Bendy Bones: Spline IK Bone Constraint; but it didn’t work very well. Although the motions were smooth, I wanted the Eyelashes mesh to be Automated, so on one hand there were too many Controllers to Automate in 3D Space, and on another hand I was having trouble with the Tilt (Twist, in terms of Armature stuff).
However, now with the experience that I’ve built up on the subject, I think if I could tackle that older Rig today I could make it to work properly.

I’m not sure exactly what is your plan, but probably one thing you must be very careful about, is not to let any Transforms from the Eyelashes Bones influence the Mesh of the Eyelids. The intersection Edge / Edge Loop / Edge Ring between Eyelid and Eyelash, on the case of a Connected Mesh, tends to be critical; for me at least, this intersection must be part of the Eyelid Mesh in terms of Weight Paint Vertex Group, totally excluding the Eyelash Mesh, and vice-versa.

¡Good luck! I’m quite curious about the final result, if you’d be able to show later on.

Update: It seems to be going mostly well, just need to get the weight paints right (and probably should’ve added more geometry)

The big issue now is that a lot of the bones are freaking out whenever I move them, like this:
Untitled

I’m assuming that’s just because of weird kinks in them that are hard to see normally, but how should I go about fixing that?

EDIT: If it helps, this is the tutorial I followed, if you need the settings for anything: https://youtu.be/-MgU7qOkufU

Whenever I change the start and end handles to absolute, it also creates a weird angle for the bendy bone part so I adjust the settings to make it looks like it flows smoothly instead. I feel like something in there might be causing some issues. I changed it back to Automatic and it doesn’t seem to jitter anymore, but then of course it won’t follow the rotation of the control bone, and I feel like that might come in handy for posing, so I’m not sure.

Oh, I see. I believe some settings on these older and famous tutorials for Bendy Bones on Facial Rig are not up to date anymore (or are too hard to configure), nor the Addons they’ve used to Automated the process. Though, the principles for making Spline Skinning on Facial Rig still apply, there are easier ways to develop Bendy Bones Sets Sequences nowadays I think.

For exemple, since you’re using Rigify Addon, I suggest you look for its Automation feature for making Bendy Bones Sets Sequences, which is available in the CloudRig Feature Set —which is a free Extension for Rigify Addon.

If you do not Automate them from CloudRig Feature Set, nor from some other Addon that still works to some extend (like the one in the following video), you can do them manually; however, the most important thing is that the settings for the Bendy Bone Sets (Splines), connected in a Sequence, are correctly made; I don’t remember right now the exact settings because there are many details involved, but it’ rather simple, so check this example (you can spot the settings and some precautions); Absolute is not the unique solution, but it works and may be used for both Start and End Handles settings, and the only Parenting Relation inside a Sequence, is that the Bendy Bone must be Disconnected from its Parent Start Handle Bone, and that Bendy Bone must also Own a Stretch To Bone Constraint Targeting its End Handle Bone. The “Vertices” of the Bones can be Snapped with Snap To Vertex Options, so that Location is perfect. But then Rotations must be solved on both Edit Mode and Pose Mode (with the Stretch To Bone Constraints which needs to be Reset whenever changes were made on Edit Mode); and some more details.

Making a single Bendy Bone Set (Spine) is one thing. But the cat’s leap is all about knowing how connect them properly in a Sequence.

Also, it is plausible that there would be more issues involved in the the issues you’re having right now —because Eyelids and Eyelashes Rig are very complicated. I bet it’s not the case, but just make sure Snap Option is Disabled for Posing.

Here is a more didactic look for manual making if required:

¡Good luck!

We are SO CLOSE

So what I did, and what seems to work, is that I added various drivers to each of the control points at the top and just mess around with the values of each transformation and the weights of both the bending bones and the normal eyelid controls of the rig until it looked pretty, and even though there is still some tweaking to be done (probably with shape keys and drivers this time) for some reason… The right side isn’t cooperating.

At first it just seemed like all the weight painting I did didn’t transfer over, which is fine cuz I can just copy, mirror, and rename each vertex group to make it work on the opposite side. It seemed to work perfectly for every single group except for this one at the tip of the lash.


Not only does the vertex group match, but so does the position of the control point, so I don’t know what’s going wrong. Even weirder, it’s going like 70% of the way instead of 100% or 0%, so it’s not an issue like it not being marked for deforming or something. And even weirder than THAT, when I click on the spot with the blur tool in weight paint mode it seems like it all goes closer to where it should be (Even when I blur with a minuscule value of like 0.001 it still goes to the same position) but still doesn’t quite match up…


I feel like this is one of those cases where there’s literally just a single button I can press and solve it all in a few clicks. That being said, I’m glad I found a solution to the main issue.

Edit: Here’s a little celebratory wink animation

https://drive.google.com/file/d/1UaL3IL4RHA0-ugunRIowLX17HHeVnbyK/view?usp=sharing


(and a preview pic cuz of course it’s too big to show up as a gif)

EDIT AGAIN: Almost forgot that in the process of animating that the drivers didn’t actually work for when I used the eye control to make her look downward, so I guess I’m gonna have to solve that too. Must just be because that doesn’t alter the eyelid control’s local transformations, which the drivers are marked for. Hopefully a somewhat easy fix…

2 Likes

SOLUTION FOUND

It was just fighting against the bottom brow weights, so no big deal.

So I guess that’s pretty much it… I guess once I finish everything and polish it all up to perfection I’ll post about it to show the end results.

EDIT: Not actually it. Forgot it doesn’t respond to the eyes changing direction. I’ll update on that too.

2 Likes

I think we’re fully done here

Untitled

Accidentally deleted the whole eyelash rig so I had to rebuild it, but I then added in the extra expressions to make it work alongside the common eye bone

Doesn’t work for the separate eye bones but I probably won’t use those, and even if I do need them, you basically just do the same thing again but for those. Also, for some reason, if, for example, you move the eyes bone to the left, there’s a tiny bit of the right eyelash that pokes out, but it’s not that big of a deal. Same goes for it clipping a little into the top of the brow when you move it up, but it’s not nearly a big enough deal for me to worry.

EDIT: scratch that I do need to find that out alongside using some expression other than addition to combine the two variables

2 Likes

Love the 3D Cartoon Style; and it’s really well achieved; the Blink is also pretty.

Just curious, in case you would be able to present: I’m not sure how you’ve done the interaction between the Eyelids Rig and Eyelashes Rig for this Eyelashes Rig; in the case there would be specialized Eyelids Bones (or some other solution). I understand you’ve developed Bendy Bones Sets Sequence(s) for the Eyelashes Rig, but I wonder what controls the (also complex) curve shapes of the Eyelids Rig around the Eye.

Both are very challenging problems; after having came up with a solution, I ended up thinking that, actually, Eyelids Rig (to be ideal) can be even more complicated than Eyelashes Rig, for different reasons of course. But this alternative solution to solve just the Eyelashes Rig with Bendy Bone Sets Squences is indeed. very original. ¡Congrats!

Since I realized there aren’t that many tutorials about it (or at least the way I want) I’m gonna make a Youtube tutorial of my own going through everything. I’ll probably save the driver type to the side, but I realized I want too much customization (for example, it won’t work when I want a :slight_smile: kind of expression) so I’m gonna make a master control just like the eyelid that’ll control everything else, but of course with more manual controls.

I’ll be sure to post about that when (if?) it works. I’m desperate to get this right cuz literally 99% of my characters would need this kind of method to work lol

1 Like

Posted the video:

Still not the perfect tutorialist but hopefully this at least gets the idea across and sends out the base idea/want for this kind of rigging setup.

1 Like

Remember when I said there wasn’t any ‘easier’ method :laughing:

So the main face rig clearly looks like a Rigify rig, am I to take it that you built the eye rig initially all on its own, and then ‘joined’ it to the main face rig?

If so I guess that would mean having to keep a copy of the eyelash rig if at any time one was to regenerate the main rig from the metarig, as it would wipe out those manual additions.

1 Like

I guess you’re correct, and this could pose some issues indeed.

But, beyond that, I believe it’s currently possible with Rigify Addon to have the Meta-Rig to Generate/Re-Generate Rigs with Bendy Bones Set Sequences; it would require its free Extension: CloudRig Feature Set. I never tried myself this method (because I currently work with Custom Rigs), but someone told me about it when I was trying to find better solutions to Automate the making of Bendy Bones. I do not know more details about it, but must be some new Bendy Bone Rig Type(s). If this is accurate, this might a fundamental upgrade to the making of these types of Rigs —since already using Rigify Addon anyways.

Oh, I see. So, beyond the Automated interaction between the Eyelashes Mesh with the Eyelids Poseable Bones, you still have this extra interference with the Eyes-Track Controller; the latter ends affecting, indirectly, the Eyelashes Rig of course, so you need to add extra calculators in the Drivers just to counter this additional effect.

I’ve never tackled that particular problematic. So I don’t know a better solution than “countering”. I think this is the right way to go, because… I don’t see a good way for the Eyelashes Mesh for just to ignore the extra Deformations on the Eyelids Mesh caused by an external input. Because, in Blender, the original logic is that (Bone) Transformation causes (Mesh) Deformation, not the inverse; thus, Morph Deforming Eyelids Mesh through Shape Keys caused by the Eyes-Track Controller (instead of Bone Transforms here) can trick the Rig, hypothetically making the Eyelash Rig to ignore input from the Eyes-Track Rig, but still consider the Bone Transfoms inputs from the Eyelids Rig.
Unless, of course, our Deformation Bones are somewhat (very rare setup) Bone-Constraint to the Mesh itself (I don’t think it’s the case… like a Vertex Group used as a Target for a Bone). So, Morph-based Deformations to the Eyelids Mesh, from the Eyes-Track Rig (using Shape Keys) would then ‘protect’ the Eyelashes Bones Transforms and consequently the Eyelashes Mesh Deformations, hence not requiring countering; although the Eyelashes Bones/Mesh will still respond to the directly Posed Eyelids Bones.
So, this could be a cheesy, plausible solution; but I’m concerned about some interactions with Shape Keys: if they unexpectedly disrupt the Eyelids Mesh in some terrible way regarding the Eye Surface/Eyeball, or if, by affecting the Eyelids Mesh, this becomes weird in the relation to the Eyelashes Mesh (which would be static mostly). Also, I’m not experience with this Eyes-Track Rig influencing Eyelids Mesh… I don’t know if there are different approaches for it; the only one I know about is the one that Weight Paints the Eyelids Mesh (which in this case wouldn’t be Bone Transforming event… so I’m even more confused now); but I see there could be alternative ways to do it, and depending on the way we do it, it can be better or worse to the Eyelashes Rig. So, instead of focusing on the Eyelashes Rig (which is already extremely delicate), I think it would be more interesting to focus on creative solutions in the ‘interfering’ Eyes-Track Rig, and see if it is possible, from it, to generate improvements or even complete solution. Please, tell me if I got any wrong idea… but the problem could be actually, just the way the Weight Painting is made on the Face Mesh for the Influence of the Eyes-Track Deform Bone (I think it shouldn’t invade the Eyelashes Mesh).

Also, Drivers are not the only means of making the Eyelashes Rig Automation. In my case, I do not use Drivers at all nor Shape Keys; instead, Bone Constraints: Bone Constraints are slightly more intuitive in my opinion, and (depending on their customization), they don’t need to be Locking the Transforms of the Eyelashes Bones in case we need them to be free to move, all along having the working Automation on them.
Additionally, in the countering method using Bone Constraints only, I guess it would mean the Addition of another Transformation Bone Constraint, relative to the Eyes-Track Bone Motion… but I’m not sure how it would work since I do not use the realistic Deforming Eyes-Track feature on the Eyelids Mesh. For the Eyelashes Bones to be Poseable, the Copy Location Bone Constraints must be Offset (and I’m not sure then if the Owner/Local Spaces would need change, from World to Local; I would need to make more tests to certify), but it’s certainly the Offset Option which lets the Bones free to move; while all the Transformation Bone Constraints should have (they already have anyways) the Add Mix instead of the Replace Mix.

Maybe you get some insight from these ideas.
One interesting thing, is that this is a real (additional) problematic to Eyelashes Rig, present we’d be using that single Eyes-Track Rig feature.