Tuesday, April 21, 2009

How to Setup a Pole Vector for an Ik Handle in Maya - Rigging Tutorial

This tutorial will teach you how to correctly setup a pole vector for an IK handle. So lets begin...
1. Setup a 3 joint chain. This can be a arm or leg of a character.











2. Create an Ik handle RP solver with default settings on the joint chain.



                                                                   


                                                                                                                                       
                                                                         
                                                                                                                                                                                                                                                                                                                     



                                                                                                            




3. Create an object to be used as the pole vector. I am using a nurbs surface in this example.


4. Now we have to make a point constraint. Select the first joint (root joint) of the chain, then shift select the last joint and then the nurbs object. Now with the above still selected create a point constraint. Leave the maintain offset unchecked.

                                                                                                                                                                                                                                                                                                                                                                                                                         



5. Next an orient constraint. Select the middle joint of the chain and then shift select the nurbs object. Now create an orient constraint with default options. Make sure the maintain offset is unchecked.













6. Now delete the two newly created constraint nodes on the object. Use the hypergraph to do so. Find the object in the hypergraph and delete the point and orient constraint node under it.
















7. Now freeze the object to reset its translation axis. Move it back towards the middle joint. Rotate the object in position if necessary and freeze the transformations again.

8. Select the object, then shift select the ik handle and create a pole vector constraint.

Sunday, February 8, 2009

How to Create a Bendy Arm Setup in Maya - Rigging Tutorial

This is a tutorial to create a bendy arm setup in maya to get the arms in a tube like pose. Getting the arms to bend like a tube is usually required from cartoon like characters since it gives a lot of expression to the animation.
Lets start by creating a three joint chain for the arm with the joints placed at the shoulder, elbow and wrist.










Now create a CV curve (degree set to 1) from the shoulder to the elbow. Do this by selecting the CV curve tool and click on the shoulder joint and then on the elbow while holding down the v key for point snap.















Now select the newly created curve and hit Ctrl+A to open its attributes. Now click on Display CV under Component Display to see the number of CV's of the selected curve.













Now we need to rebuild this curve to get more CV's at an equal distance from each other. This is required since we will use these CV's as a guide to create a joint chain between the shoulder and the elbow with joints evenly spaced out. In the Rebuild Curve Options the number of spans is set to 6 and the degree to 1. The resulting curve from this command will have 7 CV's and the reason is that the number of CV's on the rebuilt curve would be the number of spans plus the degree (in this case 6 + 1 = 7).













The setup should look like this.










Now again holding down the v key for point snap create a joint chain with a joint on every CV of the rebuilt curve. After completing the joint chain delete the curve.













Once the chain is complete, select the Spline Ik Tool and create a spline Ik handle on the new joint chain with the following setting. This will create an ik handle on the chain and a new curve on the chain which will be used to manipulate the chain.






Now select the new curve create with the spline ik handle and display its CV's by right clicking on it and selecting Control Vertex. Now select the first two CV's and create a cluster. Do the same for the middle CV and last two CV's so that there are 3 cluster total.










Parent these clusters under the shoulder joint. Now move the pivots of the two outer clusters to the corresponding ends of the joint chain. Do this by selecting the cluster and holding down the d key for pivot mode. Also hold down the v key for point snap and snap to the respective joint.









Now we will make this spline chain stretchy. It is a fairly simple process. Select the spine curve and type "arclen -ch 1" in the command line. This will create a curveInfo node on the selected curve. This node is useful since it has an attribute that returns the length of the curve. Hit Ctrl+A on the selected curve and find the curveInfo tab under which you will find the Arc Length attribute.
Now we need a couple more nodes. Open the hypershade and create a condition node found under the general utilities. Also create a multiply divide node.
Now connect the arcLength of the curveInfo node to the firstTerm of the condition node. Set the secondTerm to the same numerical value as the firstTerm. Set the operation to greaterThan. Also connect the arcLength to input1X of the multiplyDivide node. Set its operation to divide. Also set the input2X to the same numerical value as the input1X. Connect the outputX of the multiplyDivide node to the colorIfTrueR of the condition. Leave the colorIfFalse to 1. Almost there. Now connect the outColorR of the condition to the scaleX of the new joint chain. Connect to all the joints but the last one since its scaling is not required.


























For the final step we need to create some aim constraints. We want that when the middle cluster is translated the other two clusters should aim at it to create a better curve in the chain. To do so select the middle curve, then shift select one of the other curve and create an aim constraint with maintainOffset checked ON. Repeat the same with the other cluster.


Now repeat the same setup with the lower half of the arm chain. Here is how the final setup looks like.

Old Man Sculpt (Update)

Here is an update of the old man face sculpt.


Sunday, February 1, 2009

Old Man Sculpt (WIP)

I decided to sculpt an old male face. This sculpt is a part of the learning process for me to get better at sculpting. The old face is a complex form with skin folds and lots of wrinkles, so it is a good challenge for someone like me who is fairly new to sculpting.
This sculpt was done using mudbox. It is only the first pass and has about 1.5 hours of work in it.