Page 1 of 1

Rigging workflow insights

Posted: 21 Jun 2012, 19:27
by rray
Insightful reply by Mill NY artist Bradley Gabe in a mailing list thread about rigging, started by Sandy Sutherland:
I like to think of rigging as a 3-phase process, with the generic, resizeable rig evolved and tuned to perform for phase-1.

Phase-1 is getting your joints placed, defining your volume, and sorting out coordinate space and rotation orders:
  • Joint Placement :
    • I use a technique where I create a temporary deformer where the static kinematic state is linked to the parent. This way, you can rotate the deformer, then shift the parent around and find where the sweet spot of deformation is with real time feedback.
    • Have tools that help you with this process, but at a more atomic level.
    • I used to have scripts that would generate hand rigs from curves, but there was so much variability with fingers from one character to the next, and then variability with animator control preference, it wasn't saving me any time. I was spending more time with weight painting fingers and interactive joint placement anyway.
    • At this point, I have tools that allow me to generate chains from curves, but more importantly tools that generate guide curves from existing chains. The tools are focused on allowing maximum rigging flexibility, but more importantly on speeding up the bottlenecks during deformation tuning.
  • Defining Volume:
    • Assume you are going to be using GATOR to transfer your envelope onto other meshes.
    • If you are lucky enough to have friendly modelers, they might do you the favor of always delivering a full, low res, unibody cage.
    • Often, you'll instead get a character mesh that's made of pieces of garments, a section of undershirt, the lower segment of the arms, a neck that ends under the collar, etc.
    • If you want to have any hope of using the envelope painting and smoothing functionality while keeping all the disconnected garments from crashing with the body parts you'll need to create a volume mesh for weight painting and transferring.
    • If you are having trouble getting areas of your character to deform properly, try drawing profile curves and experimenting with them. It takes far less time to mess around with the weighting of a few vertex points, and if you can't get a simple, 2D profile curve to deform the way you want with your current rig setup, there's no way you'll get a much higher res, 3D mesh to do it.
  • Sorting out coordinate space and rotation order:
    • Extremely important, but often overlooked, even by more experienced riggers.
    • Too many people think that the zero space for animation is defined by the envelope rest pose, but there is no reason at all for this.
    • Rather, all animation controls should be set based on the most ideal rotational space to avoid gimbal lock in typical performance situations. (Example: Use ZXY for the central body controls. With XYZ, you hit gimbal lock the moment your character turns 90 degrees in world space, which happens all the time!)
    • Rotation order should be thought about for each animation control, but it also should not be set in stone. Different scenes might call for different settings, and your pipeline should allow for this.
    • Make sure your numerical values for animation controls and fcurves make intuitive sense and have some kind of obvious alignment with world space, because you never know what production is going to throw at you. (Example: I've seen rigs where the feet are angled apart in the rest pose, and zeroing out the feet animation controls returns to the angled pose. The problem is, when moving the feet forward in their local space, they spread further and further apart. This was making it really tough on animators who were trying to work out walk and run cycles, since the characters would end up doing the splits the further they cycled through world space.)
    • Because of this, my Envelope Binding Pose is never the same as my Animation Rest Pose
      • Envelope Binding Pose - The rest pose of the mesh as delivered. This Pose establishes the foundation for your volume deformations (If it's a T-Pose, you might need to have a serious chat with your modelers).
      • Animation Rest Pose - Where all your animation controls go when you zero out the rotations and positions. A well thought out Animation Rest Pose will almost always make for a lousy Envelope Binding Pose.
    • Use the Mixer to store your Binding Pose and your Animation Rest Pose, and keep them with every instance of your Model.
    • It's in this area I see most auto rigging setups fail. They provide guide tools that allow the rigger to match exactly to the Envelope Bind Pose, but they don't allow access to control over the Animation Rest Pose.
Getting through Phase-1, with practice, should rarely take more than a production day, and in many cases, only a couple of hours. For some simple 1-off characters, you might not even need more phases.

The main purpose for phase-1 is to hand off the rig as quickly as possible to your animators so they can start trying to break it and block it into scenes. At this point, you should also start getting feedback and be prepared to make repairs and adjustments. You will also want to use their performances and advice for feeding into phase-2.

Phase-2: Adding secondary deformation effects
  • corrective shapes
  • face shapes
  • flesh jiggle
  • skin sim
  • muscle
  • etc
This is, in my opinion, the more creative area of the rigging process, and where it's been so interesting to have the power of ICE these past few years. The Non-Linear nature of XSI makes it possible to allow your animators to work with the phase-1 rig while you continue on to phase-2.

Phase-2 rigging is also the reason a rigger need not fear the existence of auto-rigging setups, since, (as Eric T. suggested) their main purpose is to get through phase-1 as quickly as possible.

Phase-3: Complex secondary rigs. Hybridized components that ride on top of the character mesh and require direct animation control, often combined with simulation.
  • Simulated cloth and hair
  • Character animated accessories (bags, straps, chains, jewelry)
  • Character animated cloth and hair components (whiskers, brows, facial hair)
  • High level of difficulty - Animating interaction with straps, ropes, chains, that have fixed length but also require sim.
  • They often require constraining nulls to polygon clusters, which are then used as roots for additional rig setups. If their animation controls are visible, it forces full evaluation of the underlying rig.
  • Thus, they tend to result in slower performance because they rely on the finished evaluation of the phase-1 and phase-2 deformations.
    • Example: a character wears a satchel on a shoulder strap. Portions of the strap must be bound to the shoulder and chest geometry of the character, which themselves are being deformed. If you are running phase-2 shapes and jiggle sims on the body, then the satchel strap deformation must also ride on these results.
  • They introduce annoying complexity into a pipeline, since they might force multiple layers of caching, which create a stack of dependencies to deal with for every revision.
  • They happen towards the end of your rigging schedule, when you might already be tired from finishing phase-1 and phase-2
  • Your producer probably did not consider their impact on setup times and shot production.
  • Your animators are wondering how a rig that was performing nicely in real time (during phase-1) is now chugging along (at phase-3) when all they want to do is animate the whiskers
  • Have an arsenal of custom, atomic-level tools available for quickly handling phase-3 setups:
    • Naming tools that deal with sequences and series of controls so that you can use the resulting naming conventions to feed into other tools and workflows.
    • Creating and constraining nulls to selected components
    • Creating control curves and meshes from selected components
    • Setting constraints by proximity to curves and meshes
    • Tools that allow you to transform scene objects using deformations:
      • Transform from envelope
      • Transform from lattice
      • etc...
    • Tools that build control setups for straps, chains, ropes
I have a nice arsenal of atomic level tools now for dealing with phase-1 and phase-3, developed from almost 20 years of rigging experience. I might need to start thinking about packaging and selling them soon if there is enough interest in the community.

-Bradley