It is important to have a good model before you start rigging (having the legs relatively straight and vertical for example). Creating the basic skeleton is relatively simple, I used the joint tool to create joints in the areas where I wanted movement in the model. It is, however, important place these in the right order. My rigging project was just on a pair of human legs. For this example it is important to start with the hip joint, before placing joints for the knee, ankle, ball and toe (in that order). This is because of the parenting order of the joints, as it means the hip is parent to the knee, which is parent to the ankle, and so forth to the toe. A parent joint is a joint which is higher in the hierarchy to another joint, so if it moves, it effects its child joints further down the chain. If these child joints are moved, it does not effect the movement of its parent joints, but if it is a parent joint to other child joints further down the chain, they will be effected. In the leg for example, rotating the hip joint will swing the whole leg, but rotating the knee will only swing from the shin to the toe, and rotating the toe joint will only rotate the toe.
The most effective way to make the joints for the legs is to decide which leg you will work on first (I chose left leg), go into the side view and place joints. Bones appear between the joints, but these are simply there to show the direction the parenting chain goes, as the fatter end of the bone is the end with the parent joint (also to do with skin weights later). The knee joint should be slightly further forward to create a bend in the knee, as this will help determine the way the knee bends when the leg is given and IK handle (later on). At this stage, I went into the perspective view and found the leg joints were sitting centrally between the legs of the model. I corrected this simply by selecting the hip joint and moving it into place within the left leg, which in turn moved the whole leg skeleton, as the hip is the highest parent in the hierarchy. From this point, it might be necessary to adjust the joints angles to fit properly with the legs (if the model you are trying to rig is good, you shouldn’t need to). This creates a problem however, as it messes up the joint's 'rotation orientation', which basically means they wont do what you expect them to when animating. You can solve this by adjusting the settings of each joint in the 'joint orient tool' under the 'skeleton' menu, however it is probably easier to recreate the skeleton, by placing locators ('locator tool' under the animation menu) at each joint, deleting the original skeleton, and then making all the joints new directly on the locators. As the angles do not need to be adjusted from then, they should have correct 'rotation orientations'. It is important to start a naming convention for the joints early on (hipJoint_L for left, for example). Once all the joints have been named, you can use the 'mirror joints' tool to make the right leg. For this, I went into the 'mirror joints tool' options, made sure it was mirroring in the right axis (YZ rather than XY), and in these option, chose to duplicate the names, and asked it to search for the “_L” and replace with “_R”. This (quite cleverly) replaces all of the “_L” suffixes on each joint with “_R”, saving tonnes of time that would have been spent manually renaming them all. I then created a central joint in the groin area, and parented it to the hips, creating a point approximately at the centre of balance, which would form the base of the spine if I were to rig a whole character.
At this stage I went through the process of skinning. This fixes the model to the skeleton, so when you rotate the joints it will move the legs model (in my case) to the same effect. To skin it, I used the 'smooth bind' tool, and under the 'smooth bind options' I left most of it as the default options, except reduced the 'Max influences' to 3, as there are relatively few joints, and the model is relatively simple. Another option that I could have changed was the 'skinning method', which I could have set to 'duel quaternion', which is designed to help the model retain its volume, and not deform in an unwanted way when animated. Instead, I left it as 'classic linear', and used the 'paint skin weights' tool to map the areas I did not want to lose volume when the leg bends, such as the calf muscle area when the knee bends. I found that the model itself was fairly low detail, and it had very few edge loops round the joints (only 2 round the knee for example). This meant that even with adjusted skin weights, there were some odd deformations. I found that it was best not to make too many adjustments to the skin weights, as the effect that had on other parts of the model were difficult to counteract by painting more weights on. I do however, feel that I have done the best I can with the model.
At this point it is possible to animate the legs by rotating the joints, however the rigging is not complete. With the rig at its current stage it is not very user friendly for an animator, and would therefore increase the length of production time if it were to be used as a rig in game production. The next step is to make a small new external skeleton under the foot to aid animating the leg, and lock certain joints (such as the ankle) in a way which makes them bend more naturally. This is known as 'reverse footlock'. To begin I placed an object to be used as a pole vector in front of the knee. I used a locator. I then created an IK RP solver from the hip to the ankle, called it 'ikHandle_ankle' and set the locator in front of the knee as its pole vector. I then created an IK SC solver between the ankle and ball and called it 'ikHandle_ball', and one between the ball and toe and called it 'ikHandle_toe'. I then created the reverse footlock skeleton, made up of 4 joints, just below the foot skeleton. I started with one just below the heel, calling it 'ReverseFoot_L', then one just below the toe joint and called it 'RF_toe_L', and then did the same under the ball and ankle. Making it in this order makes the joint in the heel area the highest parent. I then parented the IK handles to the reverse footlock joints of the toe to each other, then did the same to the ball and ankle. You can do this by clicking the IK handle first, then shift-click the reverse footlock joint so they are both selected, and hit 'p'. Once this is done, the reverse footlock joint at the heel can be used as a handle to move the whole foot around in a way that makes the knee bend naturally.
rigging101.com

No comments:
Post a Comment