Facial Animation Rig for Delgo

Report this File

Figure12

Views:

389,330

Updated:

May 26, 2006

Readership Level:

Advanced

Tags:

Maya Versions:

6.x, 7.x

Platforms:

irix, linux, mac, windows

Owner:

Language:

English


7. Add eyelid influences: you need to add the upperLid and lowerLid influences for each eye. Toggle hold weights on and set to 0 so you don�t take influence away from the influence curves

click for larger version


8. Paint weights: The first thing I do is weight the areas that wont move to the skull holder joint



Once that is done, the only area you will likely need to do a lot of editing on is the mouth (upperLip and lowerLip curve influences). The others are generally pretty good by default except around the eyelids. Toggle the hold weights of the eyelid joints off and paint the membership to each respective eyelid joint.

click for larger version

This should fix a lot of the weighting on the eyebrow curves, but you will need to do some fine-tuning and smoothing regardless. As an artistic note, you probably want to have a little overlapping in your weight painting so the nose moves a little when the upper lip moves, etc, but not to much that the animator has to counter-animate controls to keep portions of the face still.


9. Add eye rigging:
I�m not going to go into detail on how to rig the eyes as that is pretty simple and there are a number of ways to do it. obviously you want to create a control that drives the rotation of the joints to open and close the eyes and you might want to take it a step further and add a sculpt deformer or some sort of extra movement to the joints as the eyes rotate to get some simulation of sub-dermal deformation as the eyeballs move under the eyelids.


10. Add mouth rigging:
You will want to tie some sort of control to the jaw for manipulating the mouth- we just use driven keys from an attribute, but you could rig it a number of ways. What�s important for our rig is that you create an expression, driven key or use utility nodes to drive the extra jaw joints that control the corners of the mouth [See figures 10.1, 10.2].

figure10.1.aviFigure 10.1 (avi movie)

figure10.2.aviFigure 10.2 (avi movie)

You can even create an attribute that drives the amount of averaging to achieve different effects. We simply make the rotations a percentage of the jaw rotation. For example, the left side would be driven by an expression like so as the jaw opens, the corners move down to compensate by about half as much. Extra automation would move the corners in and rotate them a tad, too.


11. Add hair/eyebrow/eyelash rigging: Since I am focusing on the facial rigging I won�t go into details, but just for the record, we used geometry for our hair on Delgo, so the hair, eyebrows and eyelashes were pretty simple. We bound the hair with lattices and used some influence from the faceCurve control hulls to layer some movement in the brow region. For the eyebrows we copied the bind from the head to the brows so it was like they were wrapped to the skin- thus when the forehead deformed, the brows would follow. The eyelashes were simply parented to the corresponding eyelid joint. If you used Maya Hair or paint effects hair, etc, you obviously would have a different workflow and there are a number of ways you could bind geometry based hair depending on your character type. Tutorial_next_page

Comments

Dashboard_avatar
Jan 20, 2010
Post id: 9890
Report this comment to moderators [SPAM]

A good tutorial is easy to follow. This one is horrible but still the content is very usefull. Ive been stuck on this third page for some time now. The curves are binded to the mesh correctly but nothing happens when i move the boxes.. the mesh doesnt follow

Dashboard_avatar
Jan 29, 2010
Post id: 9983
Report this comment to moderators [SPAM]

Same problem as kuk arne here. I can follow the tut step by step but the mesh refuses to follow... :(

Dashboard_avatar
Feb 01, 2010
Post id: 10014
Report this comment to moderators [SPAM]

Smart method, i tested it in a couple of characters and works beautiful.

View Jason Baskin's profile
Feb 01, 2010
Post id: 10022
Report this comment to moderators [SPAM]

Great tutorial!

Dashboard_avatar
Feb 02, 2010
Post id: 10029
Report this comment to moderators [SPAM]

For Kuk Arne and Stephan Strote: you need to select the skinCluster node on the mesh and turn Use Components on (it doesn't do it automatically like the tutorial implies)

Dashboard_avatar
Feb 02, 2010
Post id: 10039
Report this comment to moderators [SPAM]

Thank you do have video

Dashboard_avatar
Feb 09, 2010
Post id: 10109
Report this comment to moderators [SPAM]

I got double transform problem after I use FS_addInfluences script.
Faces along the face curves move itself when I move joints.
Any idea? I'm useing maya8.5

Dashboard_avatar
Feb 17, 2010
Post id: 10181
Report this comment to moderators [SPAM]

darkzirconia, that did the trick! thank you very much for the info!!! :)

Brilliant tutorial and a lot more flexible than blendshapes only!

Dashboard_avatar
Feb 17, 2010
Post id: 10182
Report this comment to moderators [SPAM]

Glad this tutorial is of some use, I didn't even realize it had migrated to this server. I originally made it for Highend3D. I have since modified some of the concepts to work with Maya Muscle systems, so hopefully I can update a 2.0 version.

Dashboard_avatar
Feb 20, 2010
Post id: 10217
Report this comment to moderators [SPAM]

hi sir i m ratan deep frm india ........i have many problem in this tutorial can u explain more
plz sir

Dashboard_avatar
Feb 23, 2010
Post id: 10267
Report this comment to moderators [SPAM]

ratan, did you have a specific question to start off with?

Dashboard_avatar
Mar 05, 2010
Post id: 10388
Report this comment to moderators [SPAM]

I've made some tests with curves deforming the mesh, but I fall into problems with the mouth when I need to do the "M" phoneme. In short, I rotate the clusters inside but there's no effect to the mesh. Any tips?

Best regards.

Dashboard_avatar
Mar 22, 2010
Post id: 10585
Report this comment to moderators [SPAM]

Really enjoying your tut. It's been VERY helpful. Unfortunately, the faceCurve script didn't work for me so I had to do it by hand, but hey... it worked.

Thanks.

View lalamax3d 's profile
Apr 18, 2010
Post id: 10863
Report this comment to moderators [SPAM]

if someone explains step 4 and 5 more clearly (may be visual) i'll be greatful to him for my remaining life. i know this stuff is useful but can't do this as become more confused at above mentioned steps..
precise problem:
1- the curves i drew are called face curves, running first script in step3, creates
2- clusters
3 - face controllers or hulls (2 in count) per cluster
assumption:
2 and 3, should be linked(parented) to skull or jaw joint ( whatever make sense )
1 shouldn't be linked(parented) to jaw joint. they should be grouped and keep somewhere else. as in my case, most of time, mesh is part of world / root. so it should be part of world
please correct me if i m wrong..??
hope to hear soon , regards, (lalamax3d@gmail.com)

View lalamax3d 's profile
Apr 26, 2010
Post id: 10941
Report this comment to moderators [SPAM]

i wish some day some angel will come and reply me or shared his finished file, so i can open, reverse and see, how he had done that......

Dashboard_avatar
May 27, 2010
Post id: 11310
Report this comment to moderators [SPAM]

Hey guys,

ANyone else having problems with double transforms with the geo?
I set this up and everything works fine until I try to rotate the head.
THe clusters aren't double transforming, but the curves are bending into "S" shapes when I rotate the head.
I've tried all the parenting combinations I can think of, parent constraints, point contraints, grouping everything together, grouping individually, but still get that unpredictable deforms.

This is exactly the head rig I was looking for, and would love to get it working.

Great info!

Dashboard_avatar
Jul 06, 2010
Post id: 11717
Report this comment to moderators [SPAM]

If I am not using the addinfluence script can anyone tell how it is to be done manually? A step by step would be really helpful thanks a lot for this wonderful tutorial.

Dashboard_avatar
Jul 07, 2010
Post id: 11724
Report this comment to moderators [SPAM]

i want to use your mel script FS_faceCurves, but it isn't working. i'm working with maya 2010, can anyone help me, please?

Dashboard_avatar
Aug 17, 2010
Post id: 12170
Report this comment to moderators [SPAM]

I really do not understand steps C and D

"c) point constrain the cluster to the child control curve.

d) repeat this process for all the CVs on the curve. "

pictures or a more detailed explanation a video even :/

I currently have the L_brow_CRV and two other curves that I think are controller curves (curve1, curve2). I'm very confused about which ones are supposed to have clusters.

much help needed..trying to rig my thesis character

Dashboard_avatar
Aug 24, 2010
Post id: 12241
Report this comment to moderators [SPAM]

Ay, Monique!!!!! Select a cv on the control curve, and hit create deformer- create cluster under the animation menu toolset.

Now the CV is controlled by a sexy little cluster.

Tim

Dashboard_avatar
Oct 12, 2010
Post id: 12732
Report this comment to moderators [SPAM]

for the people that when _have made all_ and _still dont work_,

the only thing what you need to do is select your curve and activate the atribute> _use components_ in your channel box in your history.
and the curve will be deform by the clusters and will affect the geometry.

PD sorry my english.

Dashboard_avatar
Oct 13, 2010
Post id: 12741
Report this comment to moderators [SPAM]

This type of rig is only for a humanoid face. Anything oblong will improperly deform with head rotation. (ex: dog, horse, giraffe)

Otherwise, great tutorial. It's design is simple in nature, but gives pretty nice results.

Dashboard_avatar
Oct 13, 2010
Post id: 12742
Report this comment to moderators [SPAM]

@jinu john

In order to add influences without the script all you have to do is:

+ select the mesh and in the skinCluster node make sure "use components" is on

+ keep mesh selected and make sure you also have the face curves selected as well

+ in the animation shelf tab, go to "skin" -> "edit smooth skin" -> add select the "add influence" hotbox

+ make sure "use geometry" is selected and the "NURBS sample" is set to 10

+ then click "add"

Dashboard_avatar
Oct 13, 2010
Post id: 12743
Report this comment to moderators [SPAM]

@mauricio steinert

Because the clusters are sitting on points on a curve, they have no rotational value. You cannot rotate a CV, if they were joints for example, you could achieve the effect that you are looking for.

View Pilou 's profile
Oct 14, 2010
Post id: 12744
Report this comment to moderators [SPAM]

Hi everybody.

I'm stucked when i Add the curves to the skinCluster.

I turned "use component" ON

Then i select the curve and the mesh and => add influence with "use geometry" ON

but when I do that, my mesh goes deformed. i don't know why.

If i lock the weighting and then painting infuences of the curves after add it, the mesh goes deformed as well.

Do you have any clue ?

Thank you

Pierre

View Pilou 's profile
Dec 13, 2010
Post id: 13279
Report this comment to moderators [SPAM]

I found the solution. I should tell everybody my issue was on Maya 2011.

The solution is to put Skin mode in "INTERACTIVE" rather than "POST" and it will work as it shall work.

Dashboard_avatar
Mar 23, 2011
Post id: 14129
Report this comment to moderators [SPAM]

Tip for taking it further:

I mightve missed something but I found that although this is a great foundation for a rig, taking it a bit further provides for a smoother deformation:

Duplicate all of the initial base curves you drew on your face, then create clusters on all of the CV's for each of these curves.

The next step is to create a locator, and attach this locator to one of your duplicated base curves via a motion path constraint. Then in the motion path constraint attributes, break the connection for the U value, and then adjust the U value for the constraint so that the locator slides along the curve to line up with one of the clusters on the curve.

Now grab the deformation hull that is located at this cluster, and Point Constrain (with maintain offset turned on) this to the created locator.

Repeat this locator creation / constraint for every cluster on your duplicated base curves.

The added functionality you gain from this is now you can a) deform a given duplicated base curve via rotation or translation to have all of the hulls deform at once, and b) moving any given hull (which is now accomplished by moving the clusters you created instead) will slightly move the adjacent hulls as well, giving a soft-modification effect.

Write a Comment

You must be logged in and have verified your email address to leave a comment. Login or create an account