Wednesday, December 28, 2005

Order of Operations

I've given some thought to the various stages my rigging scripts will involve. Obviously, not all aspects of rigging can be automated. Joint placement is one stage where user interaction is required to get the joints placed just so. Control sizing is another area where it is important to have a user decide just how big the controls should be. Lastly, weight painting is still the black art its always been and requires a skilled painter to make the smooth binding bend correctly.

So here are the "Order of Operations", as I like to call them, for the automation of my rigging process:

  • Create Skeleton : This process is relativly automatic, with the script placing all the required joints in a generic configuration. This saves time and ensures all essential joints that other scripts expect are, infact, placed into the skeleton.
  • Joint Placement : This stage requires the user to move the joints into their desired positions.
  • Align Skeleton : This process is rather small, but very important. The knee and elbow joints are correctly aligned to the "invisible line" between the hip and ankle, and the shoulder and wrist, respectivly. This guarentees that the rotation of these joints is as true as possible, so that the legs don't bow when you lift the feet, and the arms don't twist unpredictably when the wrist is moved.
  • Orient Skeleton : This process involves orienting every joint in the body correctly, to ensure it rotates properly when animating. This goes double for any time Orientation constraints are used in the rig as they require that orientation be set correctly on the driving objects. Otherwise, driven objects will rotate unpredictably.
  • Mirror Skeleton : This process takes key segments of the skeleton, including the leg, arm, and eye joints, and mirrors them across the X axis. This ensures proper symetry in the skeleton, and all orientations are mirrored as well.
  • IK/FK Leg Setup : This process adds IK/FK blending, stretching, and twist joints to the legs of the skeleton.
  • IK/FK Arm Setup : This process adds IK/FK blending, stretching, and twist joints to the arms of the skeleton.
  • IK Spine Setup : Since we already have an FK spine in our skeleton, it is used as our basis for generating the stretchy IK spine. In this case, the term "IK" is used to describe the stretchiness, there isn't any actual IK or Spline IK used in this case.
  • Create Controls : This process creates and places all the key control objects onto the skeleton, but does not constrain them in preparation for the next process.
  • Control Placement : This stage allows the user the opportunity to tweak the controls by resizing them. The best way to resize controls without scaling the object is to, instead, select the CVs and scale them in Component Mode.
  • Control Binding : This process binds all the controls to the skeleton, adds any custom attributes necessary for the rig, and finalizes any connections that need to be made in order for the rig to be considered fully functional.


Post a Comment

<< Home