Rigging


Introduction
In this project I will be looking at the fundamentals of Rigging and then progressing this in to fully rigging my own 3D character, I will be working on the following:
In the Byped Rigging fundamental I will:
·         Make a pair of legs with joints
·         Reverse Foot lock
·         ikHandles and pole vectors to make natural movement
·         Orgeanised naming convention and controls for animating
·         Binding skin and weight painting
And for my character rig I will:
·         Making a full skelital rig with joints
·         ikHandles, pole vectors and Reverse Foot lock to make natural movement
·         Orgeanised naming convention and controls for animating
·         Binding skin and weight painting for low poly and high poly model.

BYPED RIG
First I created my project folder and imported the model, then I selected the animation tab where all the necessary tools are for rigging. I selected the joint tool then in the side view with wireframe on draw from hip to knee to ankle to ball joint to toe, also I made sure to make a bend in the knee as this helps the ikHandle know which way to bend. After finishing drawing out the joints hit enter, now name all the joints by clicking on them in the outliner, if you don’t you will find it very hard to find Specific joints when there are dozens of them all named joint1…. plus it makes it very difficult for the animator, which will most likely be yourself. Once you have finished that, go to the front view and  move all your joint in line with your leg by selecting the hip joint as the joints are in a hierarchy from the root joint.
Next you need your ikHandles and pole vectors, so when you make your ikHandle you need to make sure that you have IK RP Solver, because if you don’t you will not be able to make a pole vector. Now draw the ikHandle from the hip joint to the ankle joint then rename the ikHandle. When naming my joints e.g. Left_ankle_ ikHandle it’s good to stick to the same naming convention as it makes navigating through your joints, to know which side of the body they are on, easier, also when rigging you can mirror the joints with the mirror joints tool on any axis and it will rename the joints as well.  It is also good at this point that you check that your joints are orientated in the same way as your model and world axes by using local rotation axis and the fixing them with the joint orient tool. 
Now for the RF (Reverses foot lock) go back in to side view then with your joint tool from the heel to the toe then from toe to ball then ball to ankle, place each joint just under the corresponding foot joint, then go to front view and drag from centre to align with foot. Then rename the joints!
Then Parent the ikHandle Ankle to the RF Ankle, the ikHandle Ball to the RF Ball and the ikHandle toe to the RF toe, this will allow you to control the foot in a more natural way. I can then do the same for the right hand side. Now I can make the foot controllers for my feet, go to curves and make a shape similar to the shape of your foot, then hold v to snap the shape to the root RF then Parent the foot control with the root RF. Not forgetting to freeze transformations on the control before Parenting, so that that point will always be 0, this will make it easier to animate later on.  
Once you have done the same thing to the other side and you’re happy with your rig, it’s time to smooth bind the skin to your rig. How select the joints and the skin then go to the tool bar and go to skin > bind skin > smooth bind.
Now that the skin is bound we need to make sure that the skin stretches and acts as naturally as it can. So you need to select the skin then go skin > edit skin > pant weights tool also select the option box when opening the paint weights tool, in the options box you will have a list of all your joints,(this is where it’s good to name your joint) select a joint and you will see skin around it go white, scroll down the option box for the paint options and you can then adjust the paint vales 0 to take away, 1 to add. Also when weight panting it helps to leave the leg in a position, so that you can see what is been moved and influenced by other joints,  and if you have frozen transformation on the foot control you can then return the foot back to 0 when you are finished.
All there is to do next is to tidy up the rig by checking your naming convention and putting stuff in to colour coordinated layers. So what I did was I put my skin on to a layer called skin, and then I grabbed the controls on the left and added them to a new layer called left_controls and colouring it red, then did the same for the middle and right hand controls then coloured them yellow and blue. This is just so it is easier to distinguish controls plus it looks nice. 
 

That’s that done now I think it’s time to rig my own character.



FULL CHARACTER RIG
Same as before I started with the leg then on to the spine, starting from the hip area then all the way up to the head, make sure to take in to account where the limbs will join on to the spine e.g. where the collar bone attaches. Now on to the arms starting with the collar bone and finishing at the hand, make sure to have a bend on the elbow so that the ikHandle can work, then make the fingers and thumbs separate from the arm then Parent the finger and thumb to the hand joint.
After I finished the joints and named them, I used the joint mirror tool to mirror the joints.  I then turned on the local rotation axes on my joints, and then I used the orient joint tool to orientate my joints to face the same way as my axis.
In a similar way to the last rig I added the ikHandles and pole vectors to the appropriate joints, make sure to name all the ikHandles and controls for the pole vectors. On my first attempt at rigging, adding the ikHandles to the arm went a bit wrong as I forgot to bend the elbow, so when I moved the arm the elbows would go the wrong way and looked painful, the second issue I had was that I used the wrong kind of ikHandle so I could not create the pole vectors, as I had used ikSCsolver not the ikRPsolver. In a way it was good to make these mistakes as I have learnt from them ….painfully
Now for checking your naming convention and putting all stuff in to colour coordinated layers. So what I did was I put my low poly skin on to a layer called skinlow and my high poly skin on to a layer called skinhigh, and then I grabbed the controls on the left and added them to a new layer called left_controls and colouring it red, then did the same the right side controls then coloured them light blue. Once I finished naming everything and I was happy with the rig, it was time to bind the skin (skin > bind skin > smooth bind.) then go skin > edit skin > pant weights tool also selecting the option box when opening so you can change settings as you paint.
Something I have found when weight painting even when you think you have removed all the influence from it, it still sometimes moves, for example look at the next two screen shots below, by going on to Gradient tab you get more advanced painting options.

After painting one side of the model I then mirrored the paint weights on a selected axis so to have identical weight, then I can add the weights to the high poly model which is much easier than weight painting on the much denser mesh, as I found out the hard way. So I re-topologised the model and found it much easier to paint on the weights.

Now I can animate and pose my character for high poly renders and use the low character for gameplay, my next challenge will be to texture the characters and use the high poly to make normal maps for the low poly character.


Bibliography:
Used as reference during April and May 2011
·         Tutorial on rigging a character in Maya by Poly Face
http://www.youtube.com/user/PolyFacecom#p/c/4C5268BCB28B6CAA
·         Tutorial on rigging a character in Maya
http://www.swinburne.edu.au/design/tutorials/P-maya/T-Maya-Rigging-Rigging-a-biped-character-for-animation/ID-125/
·         Rigging 101
http://www.rigging101.com/free/reversefootlock/index.htm
Word count 1,500