PDA

View Full Version : issues with joint based facial Set Up


brueghel
05-09-2010, 09:41 PM
Hello guys,

I need professional help. I created a joint based facial rig. The mouth is controlled by a spine Ik with several control curves applied to the clusters.

I have problems with following the Spine the rotations of the head correctly, translation is no problem. I dont no how to parent my Spline Ik to the character correctly, currently the amount of controllers which control the IK chain, is parent constrained to the head/jaw joints, except the outer mouthcorner controllers.

There are RP IkHandles for controlling the "laughing" shape. I parent constrained the outer mouthcorner controllers (Clusters ofSpineIk) to the same controllers which controls the ikHandle.

The other remaining controllers are parent Constrained to jaw joint (lower Lip) and head joint (upper Lip). So I can tweak the lips on top of the "laughing" Shape.

I attached a example Maya file, if you dont have time to play with it, because its a little bit confusing, my general question is: how to integrate/parent a spline Ik in a rig? because its behaviour is different to other Iks. There are also other little "features" you might wonder about. The "jaw switch" controlls wether the mouth stays open or closed (chewing) as the jaw is rotating.

thank you,
Simon

Boucha
05-10-2010, 01:13 AM
Hi Simon,

I suggest you to go for a layered approach. Meaning, use a blendshape node. You can create a simple blendshape between the joint based facial deforming geometry and the actual face geometry of the rig itself. This way you dont't have to deal with deformation order and the rig is much faster and stable. You can then control the facial rig and see the result in the original rig !

brueghel
05-10-2010, 04:09 PM
Hy Boucha,

I integrated your eye Set Up in my rig, I saw the video, Thanks a lot! I have minor changes in it, going for a multiply-divide node for the joints, because I couldnt read the expression in the video.

of course I thought of blendshapes I wanted to mix them with my rig, but I didnt think of controlling my original geo by a rigged blendshape node. Thats cool, because of the head rotation, which is no longer a problem. ll see if this is working. But I will create several other Blendshapes in addition to the rigged blendshape.

But the blendshape geo have to stay in my scene, usually I delete them all. Is this a problem?

Darksuit
05-10-2010, 08:56 PM
After looking at this rig, I would also suggest using a wire deformer via blend shape to control the mouth.

I'll do a mock up later.

Boucha
05-11-2010, 12:57 AM
Simon,

Thanks for looking into my videos :beer:

You should keep this blendshape geo in the scene since it drives the original geometry !

Darksuit
05-11-2010, 03:40 PM
actually the only reason to keep the geo in the scene is if you wnt to change the deformations or need to reapply the deformations. Otherwise you take a performance hit. This is only of the reasons I have gone to using Wire deformers for my blendshapes. It reduces the overhead performance hit and can produce similar results at a fraction of the cost, both time wise and file size wise.

Darksuit
05-11-2010, 04:23 PM
Here is a sample of the file with the bones stripped out just using 2 blend shapes to control the mouth. This is only a starter. You can take this technique a lot further and get some really precise control in some cases even more control than a bone setup would give you. It takes less time to setup. This was done without setting up any weights for the wire deformer or for the bones.

brueghel
05-11-2010, 06:57 PM
Thank you for taking the time for this I, this gives me a lot of shapes. I will go on and see how you made the connections. I know mayas deformers, but I went for some "advanced" techniques for learning purposes. And my mouth geometry is a little more complex.

http://img339.imageshack.us/img339/2620/rigscreen.jpg

http://img198.imageshack.us/img198/2416/facerender.jpg

I think, the goal of my joint setup is to control both the corner of the mouth and the areas around the nose and the cheek ( and eyes) at the same time. If I would use a wire deformer probably the results for the mouth would be good but all the painted weights would move in only one direction, and if you watch the face, the flesh moves in different directions. So I placed joints with IkHandles and now I could access the areas that are influenced by lifting the corners of the mouth with only one control and they all move in proper directions.

Of course my rig is kind of slow.
The scene file I attached of course is very quick and dirty, thats not my rig :)

Darksuit
05-11-2010, 07:34 PM
The core difference between the wire deformer and a bone setup is that you are using wires instead of bones.

If you take a moment and pull the wire out of context, and view the CVs (Control Vertices) as base root for a joint. You can see that you can build a sing wire in the same way you built the Joint structure of your Bones. Instead of weights applied via the skin cluster, you have weights applied via the Wire Deformer. Those weights can overlap and blend with out weights. But can also be influnced by bones.

This is a Rig setup based on the Rigs that I was able to examine from Disney for Meet the Robinsons.

The idea is that you use clusters to control the Wire Deformer via a blend shape or direction control the Wire. In This case I am using A custom control to drive the X and Y axis that is driving the BlendShape weights for the Mouth Blend.

There are a number of ways that this principal can be applied to do all sorts of things. But if you look at only what is there, then it will never meet your expectations. If you look at the core of what is being done it begins to open possibilities.

brueghel
05-13-2010, 03:14 PM
Youre right, its almost the same princip, with the exception that the wire influence is added. So I have two influences in the same area and it causes double transformation. In my joint set up the the weight completes each other exactly. What did you ment with:
"Those weights can overlap and blend with out weights. But can also be influnced by bones." ? I try to figure this out. I guess there are settings :)

And the initial weighting of the wire is problematic because the mesh of lower and upper lip is very close.

I think I have to play around, thank you very much.

Darksuit
05-13-2010, 03:28 PM
If you select the mesh then look under the Animation Menu Set > Edit Demforers >Paint Wire Weights Tool you will be able to see the weights for the wires. Make sure that you are in Object mode first.

brueghel
05-13-2010, 03:56 PM
I know how to paint the wire weights, but is there a way to avoid double transformation, because there are two weights wire and skin cluster in the same area of the mesh. (may be "deformation order" or "exclusive partition")

Boucha
05-13-2010, 04:05 PM
Hi brueghel,

the double transformation is the result of the additive deformation of wire and skinCluster. You might wanna create two geo for that, one for skincluster and one for wire and then hook them up through a blendshape...

what i suggest is go for influence objects rather than wire. What i mean to say is, use nurves curve or geometry to drive the geometry as an influenced object. this way u dont have to go through deformation order issue. u can then paint weight for skincluster deformation for the influence objects :)

brueghel
05-13-2010, 04:32 PM
yes, I think in this case influenced object may be the best solution. Last time i used them, was for this tutorial:

http://www.creativecrash.com/maya/tutorials/character/c/facial-animation-rig-for-delgo

but i wasnt satisfied because you can move them in the three directions of world space, but not -in my opinion- logical directions of the face topology. That was the reason I trie joint based rig in addition with blendshapes.

Darksuit
05-13-2010, 04:59 PM
If you look at the example, I tooke the wires and placed them under the control Rig. I also changed the input order on the mesh. these two things remove the double transforms.

CGTalk Moderation
05-13-2010, 04:59 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.