Thanks a lot Brad, great sanity check list! On Thu, Jun 21, 2012 at 5:22 PM, <tak...@earthlink.net> wrote: > Great stuff, Brad! > > Thanks for sharing - really clean and clear. > > -T > > -----Original Message----- > From: Bradley Gabe > Sent: Jun 21, 2012 11:53 AM > To: softimage@listproc.autodesk.com > Subject: Re: Rigging or Character TD type courses question > > 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
-- ---------- Michal http://uk.linkedin.com/in/mdoniec