
Hello there! Again it’s been too long since I’ve posted an update, so here we go! This week, instead of doing my Innovations project (which is now desperately in need of rescuing), I somehow managed to start rigging my character for my Major Project. I was only meant to be doing a skeleton and looking at how I could get a control rig to drive a fully skinned and weighted version with the high res mesh attached and BAM! Five days later and I’ve got a fully working, (almost) completed rig! I guess that’s good from the perspective of my major and bad from the perspective of my Innovations (which I’m currently taking a break from - I’ve got a tutorial tomorrow, so I’ve got to do something!).
Above you can see the entire rig with FK/IK controls, the skeleton (templated) and the character mesh (also templated), but I guess I should run you through everything in a bit more detail.
The Skeleton

Here we have the skeleton. It’s fairly basic: standard leg setup (hip, knee, ankle, ball and toe joints) and (working up) the pelvis, root, four spine joints, the arms, the base of the neck, the base of the head and the top of the head. Now let’s take a closer look at each section.
The Leg Rig

I wanted my leg rig to have FK and IK controls so the leg has 3 duplicates. They all share the same pelvis so there is a hip, knee, ankle, ball and toe joint for each of the “real”, FK and IK skeletons (shown above, templated). The FK is pretty simple, what you see is what you get: rotate the boxes and the FK joints follow. The IK leg control is a standard IK (RP solver) leg. There are set-driven keys for peeling the heel off the floor, standing on tip, toe-tapping, twist heel (rotating around the heel) and twist toes (rotating around the toes). Rather than using a traditional pole vector object to control the direction of the knee, I followed the Art of Rigging Vol.1 No-Flip IK Knee method. I created two custom attributes called Knee and Knee Offset. By running the Knee attribute through a plusMinusAverage node I can use it to control the twist attribute of the leg IK handle. With both the legs set up, I then orient constrained the real leg to both the FK and IK versions so that the real joints would sit between the two sets of controlling joints. I then parented the FK/IK Switch locator to the real heel joint and created a custom attribute that, allows me to blend between the two sets of bones. This was achieved by using set-driven keys to control the weighting of the orient constraints.
The Spine/Upper Body Rig

Moving up from the legs we have the pelvis control curve which affects the orientation of both the FK and IK leg joints. We then have the CoG (centre of gravity) control which moves the whole body (the FK controls follow it completely, the IK controls stay planted where they are). I decided fairly early on that I just wanted to have FK controls for the back as they’re all that are really necessary and I’m quite used to using them having spent quite a lot of time with Generi, IK Joe (using the FK controls) and LowMan. I really couldn’t be bothered trying to set up a decent IK solution for the back as I’ve never found IK Splines to be that useful on their own. Above that we have the neck and head controls which are pretty cool. Following a tutorial from Jason Schliefer, I can now rotate the head to a position (for example, to have the character look at something) and then rotate the neck and/or spline and have the head continue to face the same direction. It’s pretty hard to explain without a video, but it’s cool; trust me!
The Arm Rig

Again I’ve got 3 duplicates of the arm joints so that I can have a similar FK/IK switching method to the one that can be found in the legs. With all the controls needed for the arms and hands (more on that in a second), the arms are a little more crowded than I’d like, but I’ll manage I’m sure. All the arms are connected to the same clavicle joint which is controlled by FK (labelled in the Spine Rig image). I have no idea how to set up an automatic shoulder control, so I thought I’d avoid it. The FK clavicle controls both my FK and IK arm controls (as with the pelvis and the legs). It just fit in with my method for rigging the arms and I think it will give me more control in the long run. The FK arm control boxes which just work on rotation values and the IK arm control and the pole vector locator simply control where the wrist/arm is positioned in space. Unlike the legs however, the real arm has an extra joint in the forearm for twisting. The wrist control (which I’ll talk about in a minute) controls the rotation/direction of the hands and the twisting of the forarm for better mesh deformation. Unfortunately I couldn’t work out a way for them all to be on the same control curve so I had to split them up in this way.
The Hand Rig

As I’ve already mentioned, the wrist curve controls the rotation/direction of the hand (in Y and Z) and rotating the control in X provides the forearm twist. I’ve then got set-driven key attributes on the Finger Control curve for bending at each joint of each finger and FK controls the thumb as I couldn’t work out a decent way to set up driven keys for it (in fact, if someone knows a decent way to set up thumbs fullstop, let me know!). I’ve also got the FK/IK switch curve attached to the wrist controls which is in turn constrained to the real wrist joint.
Note: Not sure if I’ve got too many thumb joints or not, but I think I can achieve decent enough (believable) deformations, so I’m not too worried!
Conclusion
So there you have it. The only thing I don’t have yet is eyes and eyelid controls which will be driven with joints and not blendshapes like the rest of the face. I’ll be adding face controls later, probably to the final rig as opposed to this control rig. Basically I’ll be animating my project with this rig and then using it to drive the rotations for the master rig which will have the smoothed, skinned and weighted final model attached to it, hopefully eliminating the need for me to have my model completed and skinned and all the other stuff before beginning to animate. I’m now on Innovations duty so there may not be any major project updates for a while! Bear with me - who knows, my Innovations may even be presentable at some point!