Jump to content
Hash, Inc. Forums

A face rigging method


itsjustme

Recommended Posts

I had hoped to have the tutorial done by now...but, since I don't, I thought I'd at least give people something to tear apart over the weekend. Here's a project file with a rigged and unrigged head (for practice or whatever).

 

Hopefully, the tutorial will be done in the next couple of days...I just don't know when it will be anywhere to be downloaded. I still haven't e-mailed Hash about seeing if I can put it up at AM Films...man, I'm really dragging my feet.

 

Thanks to Victor Navone for sharing the rig he designed for his character in Big Bang and thanks to Shaun Freeman for posting an example on his website (I don't know if the downloadable example is still there).

 

Anyway, enjoy....and stress test it, if you find something horribly wrong I'll fix it and repost.

Link to comment
Share on other sites

A tutorial on head! Good - really good!

I took a look on it.

My reaction was - this is not a normal guy. He is too exaggerated.

Too squarish - the chin to big - the neck too fat...

 

I had a fast try - trying to get a more normal - to me - face.

Here is the result - everything can be better - just a try...

That is my reaction - hope you like someone reacting - because you are doing something good - a new head tutorial that is needed - for certain!

post-43-1114197031.jpg

Link to comment
Share on other sites

Well, the tutorial is to teach you the concept Seven. You'll have to adapt the concept to whatever model you have. And frankly, his model is awesome so I'm not sure what you even mean.

 

I've been looking forward to this one, David - I'll take a look at the project this weekend. Maybe you could make use of the WINK tutorial thing if you haven't made it already - people seem to like it. Either way, really looking forward to it so - hopefully this will give you a pat on the back :)

 

Face rigging is the thing I about fear the most in my lacking skills right now, so I want to go after it.

 

Tom

Link to comment
Share on other sites

Seven, maybe you haven't seen the other threads relating to David's work with his "Bertram" model, but the point of this tutorial is on rigging and constraints, not modeling. The model is just there to give an idea of CP weighting and layout in relation to the bones. It's really a treasure of information if people take the time to work through it.

 

Great work, David. And thanks a ton for all of the time and effort you've put into this.

 

Mark

Link to comment
Share on other sites

My reaction was - this is not a normal guy. He is too exaggerated.

Too squarish - the chin to big - the neck too fat...

 

Well, I'm not going to try to lay claim to being a world class modeler, I know for a fact there are several places I could've done better...I just slapped the hair on there so that the forehead movement could be seen easier, the spline count could be reduced, I didn't texture him so that I could keep the file size down and I would probably tweak the overall head in general if I were to use it for something serious. Feel free to modify anything you like, this was meant as an illustration of a method to rig a face...he's been made to be dissected.

 

I've been looking forward to this one, David - I'll take a look at the project this weekend. Maybe you could make use of the WINK tutorial thing if you haven't made it already - people seem to like it. Either way, really looking forward to it so - hopefully this will give you a pat on the back

 

Thanks for the encouragement, Tom. I've been meaning to check out those WINK tutorials, thus far I've been making a video tute....we'll see how it ends up, I may change my mind (I'm trying to keep the file size down for bandwidth impaired people like myself).

 

Great work, David. And thanks a ton for all of the time and effort you've put into this.

 

Thanks Mark, I hope this helps a little to illustrate what I may not have gotten across thus far. I have also improved several places on the rig, one thing that works a lot better is the "lip_to_jaw" control (I've made the default to "on" for that now too). I'm sure there are things that could be done better, it's always evolving.

Link to comment
Share on other sites

Hey - vid tutorial is FINE by me! It's always better to actually SEE what is happening as you are doing it - I think that is the best of worlds. I just suggested it in case you needed ideas, but by all means make the vid one :) (If you can)

Link to comment
Share on other sites

I was thinking about automating the rigging, but, after having a back and forth on CGTalk about adapting this rig to other characters I'm thinking that just pulling in the rig to a new character and moving a few things around might be the easier way to go. The things that have to be taken out are any muscle movement, references to groups and decals, etc.

 

So, I removed any muscle and group references and geometry and here it is. The poses that are affected by the lack of muscle/smartskin would be the tongue width and thickness, the pupil dilation, the lip pucker and the cheek IO. The forehead constraints also need a copy of the character's forehead (set to 100% transparency unless you want it to show) so that the bones' surface constraints have a surface.

 

To adapt the rig, the origin of the mouth bones should be in the center of the 'x' and 'y' of the mouth and a 'z' location at the head bone (just drag the head bone to where you need it to accomplish that). The ends of the UD/LR bones should be on the pivot point of the set of CP's that make up that section of the lip (select the points and check the properties for that)...the lip targets and lip bones start on that pivot point as well. Then, use the rigged head as a guide for the placement of the remaining bones. The one thing you need to make sure is that the 'z' rotation of every bone is set to "0". After that, it's a matter of weighting the CP's and adding the muscle poses back into the Relationships (I left the relationships there so that all that would have to be done is edit inside of those).

 

I haven't done this yet, but, it sounds like it would work. If anyone tries it, let me know how it went...when I get some time, I'll try it myself.

 

Thanks for that David.

 

Not a problem, Ken.

Link to comment
Share on other sites

Thank you, Thank you, Thank you,

 

You've done public service by providing us with this project!!!

 

I've been experimenting some with this rig but I got lazy when naming bones... weighting CP's, so I was close to conclusion that this might be too hard thing to do right, and then you came with this...

 

I am waiting for the tutorial (cant' wait! - be quick!)

 

Did I say Thank you?

 

Drvarceto

Link to comment
Share on other sites

Vegan on the CGTalk forums asked about a lag when importing this rig into another character...I posted that I didn't know the cause, and then figured out what was causing it, the surface constraints in the forehead/brows. I've been trying to get back into the CGTalk forums to post this there as well, but haven't been able to yet (I've been having some ISP problems lately and that might be what it is).

 

If you want faster response in the controls in this rig, here's a version for importing that doesn't have the forehead and brow controls...you'll have to make those another way if you use this one. I may have to rethink using the surface constraints (at least that many at once).

 

 

----------------------

Edit

----------------------

 

Okay, I managed to get into CGTalk, so it's posted there as well.

Link to comment
Share on other sites

Great work on this all around...I took a look at it last night and had a blast just playing with it..next Ill dig deeper and learn while playing..

 

Thanks Michael, if you (or anyone else) find something that you think might need improving let me know. I'm still working on the tutorial and debating how I'm going to change the eyebrow/forehead constraints since the surface constraints slow the responsiveness of the controls.

Link to comment
Share on other sites

Not a problem, Drvarceto.

 

I noticed the lag, but wasn't all that concerned until it severely bogged down Vegan's (on CGTalk) computer when trying to add the rig to another model. I'm thinking the amount of number crunching to have that many surface constraints is the problem...I could be wrong.

 

I should have a version posted soon with a simpler forehead/eyebrow setup, I'm still deciding if it does a good enough job. The main reason for the surface constraints was to keep the forehead from deforming too much...surface constraints work, but it has a drawback that I think most people would rather not deal with.

 

If you (or anyone else) finds another problem, let me know and I'll try to fix it too.

Link to comment
Share on other sites

Hi,

 

I just stumbled upon this thread and had a couple of questions.

 

Right now I'm installing the 'Weighted CP face rig' that was demonstrated by Shaun Freeman on the Hash 2004 SIG CDs. Was this rig based on that one?

 

Is there any write up on the features and advantages of this rig?

 

Does the rig have any lag and follow in it (e.g. the head is turned very quickly and the cheek and/or jaw areas jiggle a bit)?

 

Nice work!

 

Thanks,

Rusty

Link to comment
Share on other sites

Right now I'm installing the 'Weighted CP face rig' that was demonstrated by Shaun Freeman on the Hash 2004 SIG CDs. Was this rig based on that one?

 

No, it was based on the mouth rig that Victor Navone shared with the community from a character he's using in his short "Big Bang"...however, Shaun has made adaptations of his own to Victor's rig for characters in his short "Cuckoo" (he also made a downloadable example that used to be posted on his site).

 

The rig in Shaun's tutorial doesn't have the UP/DOWN and LEFT/RIGHT bone setup, it combines those into a single bone (if I'm remembering correctly). Also, Shaun uses an automatic method of applying the CP weighting whereas I deliberately determine the weighting...I don't have the falloff on the bones at all.

 

This rig uses the width and height of the mouth to move the cheeks, nose, jowls and ears as well. One thing that I incorporated that I like is the eyelid tracking...I think that came from Ilya Bossov (Commie Keebler for those who are familiar...I don't think his site is up anymore).

 

Is there any write up on the features and advantages of this rig?

 

No, but I'm working on a tutorial for how to make it and there's the downloadable examples on this thread with a few variations. The original version used surface constraints for the forehead and eyebrows that causes the manipulation of the pose sliders to lag (that's the lag that was mentioned), but that's the only version presently posted with the head geometry (I'm going to update it in the next day or so with a new rigged head). The successive versions are the stripping out of items from the rigged head so that you can import the rig into your own model, the most recent one excludes the forehead and eyebrow constraints since those were causing the lag.

 

Does the rig have any lag and follow in it (e.g. the head is turned very quickly and the cheek and/or jaw areas jiggle a bit)?

 

No, but I don't see why that couldn't be added.

 

Nice work!

 

Thanks, Rusty. Stress test it and tell me if you find anything that needs to be fixed.

Link to comment
Share on other sites

Itsjustme : I have been following your posts over at CGTalk.

I have my face fully rigged, but the constraints need to be worked out, as well as many other bone arc problems.

 

So much work to be done ! :(

 

You must be really quick with typing. There must be hundreds of bones here. :)

 

While others are on the subject of CP weighting, I was curious if there is a way to use a map to specify the CP weighting VS. picking at all of those CPs manually ( That would make sense )

 

Just out of laziness,I selected a few CPs around the nostril area on my model and gave them shared weight with my jaw bone. Without any fancy rigging, the Cps were moving just like the rig does .... hmm ..so ... what are the drawbacks to using Cp weights vs. bones ?

 

Also a question about the 'scale to reach' option on bones : I notice that when a bone scales, it scales on all axis. I see the ' limit scale to Z axis' option . How did you limit the bones scaling on other axis ?

 

Thanks a million !

Link to comment
Share on other sites

Hi Vegan!

 

While others are on the subject of CP weighting, I was curious if there is a way to use a map to specify the CP weighting VS. picking at all of those CPs manually ( That would make sense )

 

Right now there isn't a way to use a weight map (unless that'll be part of v12), but, what I do is kind of "ballpark" the entire face by just making areas tied to a bone 100% in bones mode then tweaking the areas of transition between bones and any other tricky areas...it takes some time, but not as long as you might imagine. There are some places that are obviously going to have 100% influence from one bone, like the teeth/gums...the upper palate is going to be 100% the head bone, the lower palate is going to be 100% the jaw.

 

so ... what are the drawbacks to using Cp weights vs. bones ?

 

Weighting works with bones, but, what you get is a more natural blend of influences and actually less bones than if you used fan bones to do it. You'd need a lot of fan bones to accomplish what you can do with weighting. Some areas don't need to be weighted, like my example of the upper and lower palates in the mouth.

 

How did you limit the bones scaling on other axis ?

 

Just select a bone and scale the axis you want in "Properties". I didn't use any "Aim at" constraints in this rig that used "scale to reach". The only scaling that I remember off the top of my head is the lip_scaler bones. For those I just made a percentage pose, selected the bone in the pose and in the "Properties/Transform/Scale" dialogue scaled the 'Z' axis.

 

I have my face fully rigged, but the constraints need to be worked out, as well as many other bone arc problems.

 

There will be some adjustments, one of the bigger things is to make sure that the ends of the mouth_orient, mouth_lr and mouth_ud bones are on the pivot point of the group of CP's that make up the portion of the lip they are part of...that also means that the mouth_targets and lip_geom bones' origins are on that point (the origin of the mouth bones being the center point of the mouth on the head bones' 'Z' location...make sure all of the bones have "0" for the 'Z' rotation). The rest of the bones' locations can be figured out by referring to the example head.

 

To figure out what the limits of the mouth bones should be, hide everything except the teeth, gums and lips then in an Action unhide the mouth up/down bones and manually move the upper and lower lips to what you want to be the maximum (exposing the teeth and part of the gums) away from the center of the mouth...the 'X' value for each bone will be the 100% on the corresponding bone slider (go into each pose and set the maximum to the number you came up with). Then, with the upper lip unchanged, manually move the lower lip up/down bones to as far inward (covering the teeth, leave enough extra so that you can later make a pose to curl the lip over the teeth) as you want the -100% to be on the slider to be and then change that value in each pose for the corresponding sliders. Upper lip inward/down is the same drill, leave the lower lip down/outward at the maximum and manually move the upper lip up/down bones to cover the upper teeth leaving enough extra for later lip curl inward. For the width, have the up/down bones at their maximum outward/100% settting (hide the up/down bones), unhide the left/right bones and manually move the left/right bones to make the mouth about the width of the nose, that will give you what the -100% value on the slider needs to be set to. Then move the left/right bones as far outward as you want the maximum to be and use those values to for the 100% value on the corresponding sliders.

 

You must be really quick with typing. There must be hundreds of bones here.

 

A lot of that is cut down since I name a bone then make copies, changing what needs to be changed in the name as necessary.

Link to comment
Share on other sites

I noticed that when I create a new action, my face model snaps to certain extreme positions.

When I turn the constraints to 'OFF' on some of them, the face goes back to normal.

Here are the ones giving me problems :

 

" Nose targeting" pulls the nostrils upwards.

"Lips I/O" pulls her lips out ( like a ducks bill )

" Lips tageting" pulls her lips downward

Also the cheek constraints pull her cheeks in too far.

 

If I understand you correctly from the above post , this is supposed to happen and you are to model these as your extreme poses ?

 

( When you create a new pose / action, the face is supposed to snap to the mouth open position ? )

 

Thanks !

Link to comment
Share on other sites

If I understand you correctly from the above post , this is supposed to happen and you are to model these as your extreme poses ?

 

No, what you have to do is first move the bones to the places on the face where they need to be then you have to redo the relationships that have offsets in order for everything to work correctly...I'm thinking that's the problem. There are offsets on the "lips_to_jaw" ("translate to" and "orient like" constraints), "nose_targeting" (on the "translate to" constraints), "lip_IO" ("translate to" constraints)...I think those are all of them.

 

This may be the thing that makes it worth automating the process...I've been going back and forth on that. If it turns out to be the best way to speed it up, that'll be what I do. The tutorial (if I ever get it finished...not much free time lately) should show you how to build this from scratch until I can get it automated. I'll try to move faster.

Link to comment
Share on other sites

Okay, here's the rigged head with new forehead and eyebrow constraints. The new constraints have a lot in common with the constraints in Shaun Freeman's tutorial. It's not exactly the same, but unless I wanted an extremely complicated setup I had to let basic geometry dictate bone placement...hence the similarity.

 

Now, I've got to finish up the tutorial...I'm hurrying.

tutehead_rigged_v2.zip

Link to comment
Share on other sites

Just a word David to say I appreciate all your hard work in this. Lip sync and mouth setup are a total mystery to me and #1 on my list to learn, so I'm looking forward to it. Going to look/play around with your latest just to get a look at it.

 

Tom

Link to comment
Share on other sites

Thanks Tom, I'm going to get the tutorial up as soon as I can and then I'm going to try my hand at automating the setup...that should make it a lot quicker.

 

For lip synch, I really like Jason Osipa's book. He doesn't use AM in it, but the method can work in any package. Definitely pick it up if you get the chance. I haven't done it, but, Bill Young's adaptation of the controls that are in Jason's book (located here) would work with this rig...I don't have any problem using the pose sliders, but Bill's opinion is that an interface like that would speed up animating.

 

Let me know if you find a problem with the example head.

Link to comment
Share on other sites

This is much better!

 

Same functionality, but no lag!

 

I think that I am going to implement your skeletal structure in my models...

 

Just an observation... I feel that your extremes (like fully openned mouth, widened mouth... etc ) should be more ... uh ... extreme, even beyond normal anatomical boundaries, so there will be some extra expression to play with if needed...

 

I dont' know if I have made myself clear... I will edit all the expressions I need, but I feel that this might help you when animating your stuff...

 

(little digression: once upon a time I modeled head model and made muscle poses to go with it... smile, frown, phonemes... whole lot. But I felt that there was something missing... luckily I also felt that head was too big... so I reduced it, but by selecting control points and not bones - as you know musle poses represent movement of the cp's relative to the bone - so all of the sudden - the poses came much more alive - although model broked in some of the more extreme poses - it made me more bold when making extreme poses of the facial expressions)

 

Thank you once again...

 

Should I wait for the 'process automation thingy?'

 

Drvarceto

Link to comment
Share on other sites

You're probably right, Drvarceto. The extremes could be pushed, but this was just meant as a basic example. Feel free to tweak whatever you think will make it better.

 

Should I wait for the 'process automation thingy?'

 

The automation is going to be a while, but the tutorial shouldn't be very much longer, I'm hoping that it will be up by the beginning of next week (barring any unforeseen problems).

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...