3. convert curves to control curves: To control the faceCurves, you need to create clusters (in relative mode)on each CV in the cuve. Then you will need to create two levels of controls (you will see why later)-
a) create two control curves using the CV curve tool in linear mode- one should be a little visually different than the other.
b) Make sure both have pivots that line up with the cluster, parent one under the other and make sure all the values are zeroed out
c) point constrain the cluster to the child control curve.
d) repeat this process for all the CVs on the curve.
We have simplified this with a script called
FS_faceCurves.zip that allows you to pick all of your curves and convert them to faceCurves at once. If you use this script it will name all the controls based on your faceCurve name- otherwise remember to name your controls.
4. Parent the faceCurves and clusters: So that the rig follows the head, you need to parent the curves and clusters under the skull joint so they follow along with the head. Do not parent the baseCurves. These were created when the clusters were formed and shouldn�t move. You can group them and hide them away in the same level as the head mesh (that shouldn�t ever be moved) for organizational reasons.
5. Parent the control hulls: Most of your control hulls should be parented under the skull. The exceptions are the ones around the corners of the mouth and the ones for the lower lip.
The corners of the mouth will be parented to the jaw joints. As I discussed earlier, this is so when the mouth opens, the corners move in a little to account for the squash and stretch. The lower lip controls will be parented under the jaw bone so they move down when opening the mouth. Remember to freeze the transformations of the top hulls after parenting so that all the controls are zeroed when we are animating later.
6. binding: You are ready to bind the head to the joints and then add the faceCurves to the bind. First, select the Skull, Jaw and any neck joints (and any others if you have a more complex setup) and smoothBind your head mesh. Now, select each faceCurve and add them to the skinCluster using �use geometry� turned on and NURBS samples set to 10 or 20 depending on the detail you need (you can play with this later in the attribute editor)- make sure �weight locking� is turned off because you want the curves to get some default weighting
We created a script
FS_addInfluences.zip that automates this process by allowing you to select all of the faceCurves and the mesh and add them at once. If you don�t use the script, make sure you select the skinCluster and toggle the �use components� option on- otherwise maya doesn�t calculate the CVs of the NURBS control curves and the rig won�t work. Try moving the control curves to test the default bind [
We will refine it shortly.
Comments
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
Same problem as kuk arne here. I can follow the tut step by step but the mesh refuses to follow... :(
Smart method, i tested it in a couple of characters and works beautiful.
Great tutorial!
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)
Thank you do have video
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
darkzirconia, that did the trick! thank you very much for the info!!! :)
Brilliant tutorial and a lot more flexible than blendshapes only!
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.
hi sir i m ratan deep frm india ........i have many problem in this tutorial can u explain more
plz sir
ratan, did you have a specific question to start off with?
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.
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.
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)
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......
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!
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.
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?
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
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
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.
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.
@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"
@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.
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
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.
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