Help learning how to rig (Advanced Facial Rigs)

I have tried looking at tutorial, but either they are covering the utter basics (Like explaining what a bone is), or otherwise they are speaking Japanese or something. I have this model: https://drive.google.com/open?id=0B1GKvG2SCiksZGNHT2ViVTVHbkU


I am not asking for help rigging it, what I am asking is tips on what I appear to be doing wrong, and advice. I still want to rig this myself, but I do need help. (As far as my current knowledge goes, I know how IK an FK work, and I know how a properly done rig feels like (I have tried my hand at animating with one). I just don’t seem to be able to create anything like that.

I know I am going to need bones for controlling the lips, and I knew in the modeling phase that I needed spare vertices for the eyelids, but am I missing anything from the raw skeletal rig? Sorry If I sound clueless.

EDIT: Just so I don’t look like a complete moron, I did try the links in the sticky post, but for me, a lot of them were broken.

People like myself are not likely to open blend files without screenshots.

When learning rigging it’s highly suggested to take time animating other peoples rigs. That’s in order to figure out what’s desireable.

It’s also possible to try copying other peoples rigs. That’s useful learning too.

My bad about the lack of a screenshot. As I had mentioned, I have tried animating completed rigs, but I can’t seem to figure out how to cross the bridge from what I am doing, to what they are doing.

Based on your screenshot, you seem to have most of the pieces in place, but from experience I can say that the only way to truly evaluate the rig is to put it through its paces – ANIMATE with it! Design weakness, bones that might be lacking for a certain purpose, new methods, all become much clearer with the rig in use.

Another consideration is, what’s the character all about? Can your rig provide the expressiveness the character demands? Plan some foxy expressions and seen if they can be accomplished as fully as you like. Bottom line: If it works for you, then it’s a viable design.

A secondary but important consideration is how easy is it to use? I don’t see any controls in place, probably all just deforming bones, a workable arrangement but perhaps making animation with the rig more complex than need be. Are there ways to use constraints and other devices to economize on the use of the rig? You’ll have to make those judgements and find ways to implement your decisions.

Thanks for the feedback. It will probably take me a while to try around with it a bit more like that, but I will be sure to get back to this post once I finish. I never had really though of it in that way. I guess I was thinking to linearly (Make model, make rig, animate) when really I should be thinking about all of them simultaneously. Or at least, that’s what I think was meant.

Yes, because all these elements interact with one another in the animation process, so it’s important to nail down the proper interactions before doing any real animation. Testing can be tedious at times but it is essential to a successful rig.

1 Like

Using that advice, I have come quite a lot farther, made some refinements, and have rigged quite a number of the bones, however, I am stuck with the eyelids. Can someone look at this new version of it? Could someone rig one of the eyelids for me? I think I could then try to learn from it, and then rig the other one.
https://drive.google.com/open?id=0B1GKvG2SCiksTi14MG8ybExRSWc


The problem I found with eyelids is they need to move in an arc, whereas bones cause mostly linear motion in a mesh, so unless your eyes are flat, the lids are likely to intersect them when closing.

My solution, which is applied to human eyes with spherical contours, was to use two Shrinkwrap modifiers to conform the mesh to the surface of the eyeball while the bones move them. The first Shrinkwrap (I call it Eye Socket) makes the eye socket fit around the eyeball, flush to the surface, as my eyeballs are nearly complete spheres. The sockets are hidden for the most part but it helps keep things tidy as the eye rotates & the lids blink. There is some influence from Eye Socket also on the inner part of the visible eyelid, but it does not extend further. The Offset Distance for this Shrinkwrap is 0 (zero), and the mesh sticks right to the eyeball’s surface where the corresponding vertex group is weighted at 1.0. The eyelid vertices have lesser weights.

The Eye Lid Shrinkwrap keeps the outer surface of the eyelid riding over the eyeball but at a greater Offset distance, about 3-4mm in my models (their scale is 1BU = 1m). The vertex weighting for this SW modifier is usually much less than the other, rarely over 0.50 if I recall correctly, as there are other influences on this part of the mesh from the eyelid bones.

With proper balancing of the Shrinkwraps that keep the mesh conformed to the eyeball in two layers (inner & outer), I then use a pair of bones to Scale the mesh of each eyelid on only the vertical axis. One bone affects the upper lid, the other adjusts the lower. A single control bone operates them both. On my models the lids close differentially, the upper closing more than the lower. Normally scaling like this would result in a linear closing of the eyelids, but the Shrinkwrap keeps the lids mesh wrapped around the eyeball, so I can ignore that issue.

As usual, careful vertex weighting is necessary, but Weight Painting these vertices is inconvenient so I assign weights in the Object Data>Vertex Groups panel to selected edge loops that ring the eyeball.

This may not be a viable solution for you as your eyeballs don’t look truly Spherical, but maybe it will spark an idea or two that don’t depend only on using armature bones.

Actually that sounds very much do-able. My eyes are essentially spheres, the a deformation for the iris/pupil. I am considering adding a ‘Eyelid wrapping’ invisible sphere around each eye, which should have the desired effect. Thanks!

Hmm… I tried doing that, but I got some wierd deformations:



I double checked to make sure my modifier order was correct… (I was managing weight control via the edit mode options)

I think you need to revise your eyelid topology to use this method. The loops forming the eyelids need to surround the socket completely, such as:


The loops are nearly parallel and form both the outer & inner surfaces of the eyelids & socket (lower pic is from inside the head mesh, showing the socket). Of course this is for a human eye, not cartoon-styled, but the topological principles are the same.

Each loop has the same or very nearly the same Shrinkwrap weight in its vertices, and that weight lessens as the loops get farther from the eyeball, the Shrinkwrap target, finally fading to zero at the point where the loops start to form the fleshy areas of the face that surround the eye & lids. Above the eye that’s where the lids form a crease, and below it’s where the flesh of the eyelids ends and the higher cheek area begins. This progressive fade of Shrinkwrap influence gives a smooth transition between eyelids & the rest of the face.

Be sure to use enough loops so that when the eyelids stretch around the eyeball, the resulting gaps between loops don’t widen enough to cause intersections with the eyeball.

Each eyelid loop’s vertex weight for the bones deforming them is divided between an upper & lower lid value, corresponding to the two eyelid bones. This weighting is also critical and needs to be well balanced, but that’s always the case.

I could post some pics in Weight Painting mode if you think they would be helpful.

That would be nice. Thanks! If it weren’t for the fact that it’s getting late where I am, I would get started on taking your advice right away. Thanks for being patient with me.

No problem, I recall how much experimentation this all took, happy to spare you some if I can. Here are the vertex weights:


The upper left eye socket image does not show that the full weight of 1.0 (red) extends back into the inner socket as well. Here are the bones involved:


CORRECTION: In the bottom R. image, scale should be 0.01. Sorry, no coffee yet :wink:

The deforming eyelid bones are children of the control bone, and so scale with it in a 1:1 ratio. The difference in deforming bone size is because the lids do not close exactly evenly in humans, the upper moving more than the lower.

As a sidebar, note that the actual eye muscles surrounding the human eye have a structure very much like the edge loops; in anatomy they are called “Orbis”-type muscles and also appear around the mouth/lips. They ring the eye completely, and when they contract (normal muscle action) it forces the lids to slide around the eyeball until shut. In the rig this is imitated to a large degree.

1 Like