I'm done.
It's not what I hoped for, but it's OK, it's not the fancy... advanced version I've worked for almost a month... just to realize it doesn't work (it was trigger-based, using Macaronikazoo's trigger to make and break things on the fly, and it sort of works... but not really... probably one day I'll go deeper into it and hope for some success, we'll see - the great thing about it was that it was almost fully procedural)... This one is a really simple rig and I'm happy with it - simple things tend to be more stable, more solid.
I still have to add a little mirroring script to it, to help me with walk/run cycles (why can't Maya have a built-in function for mirroring values of a hierarchy??? Arrrrrghhhhh...).
So instead of making a tutorial or giving away free scripts to automate a fancy rig, as I planned at first (and even wrote the scripts), I'll just explain the rig in a couple words, quickly...
First of all, it's a freeform rig. I have been inspired by more recent work that has been done over at Disney, and their animators work with this kind of rigs, broken hierarchy and freeform. They have wacky toon rigs that let you break the rig, basically, by freely moving, rotating and scaling joints. Mine is a bit different, but broken hierarchy and freeform anyway. OK, let's explain (because these are terms little used even by riggers, I guess... since I see pretty much everybody building IK, IK, and only IK rigs). As Aaron Holly, Disney character TD says (click on his name to read more),
it is counter to how animators want to control & isolate motion in feature animation. When someone poses the chest and arms they tend to want to be able to offset the hip and legs without affecting the other body parts that they have posed at all.
IK setups are unfortunate for certain animation workflows (especially for when you have a clear mind of what you want to do and try to obtain a specific result, hehehe... which should mean IK is bad for you any time of the day :D ). You set your hand here and build your nice arc... and then move the chest and the hand moves and all is lost... IKs don't REALLY lock things down, they only sort-of lock them... So, by breaking the rig onto smaller hierarchies (hands, feet and neck are disconnected from the spine), you get a broken rig that the animator can play with freely.
Freeform, in my own interpretation at least, is a rig with independent controllers that free...form the body, such as having all joints unparented and no hierarchy at all, for example. Some people might see freeform as a rig that allows you to shape the form/silhouette of a character by hand, during animating, using clusters, blendshapes or other deformers. Both concepts could actually sum up the concept of freeform. Basically is about being able to handle a pose similar to what you'd do in 2D, to "draw" the pose, model it, interact with it, form it.
Now my rig's concept can be applied to any hierarchy, not only broken. Or broken in ANY way. Which is cool because it's flexible. I, for one, use inverted hierarchy in the legs and straight hierarchy in the arms, same for the neck/head, and a chain of double-parent-constrains for the spine (the actual script is called cfParentConstrain, by Chris Fram, but what it actually does is it creates a chain of 3 objects, 2 parents and one child, and the child is always going to stay midway, in translation and rotation).
So finally... after... a couple... words... let me explain the rig:
Orient and point constraints on every joint (except for the spine, but including hips and chest). That's all :)
Hehe, simple, isn't it? Every joint is orient (rotation) and point (translation) constrained to its controller. When you key the joints (I also key the controllers, of course, to keep things synchronized) Maya creates a pairBlend node per each constrained joint, and I have a script that sets all joints to either Input1 or Input2 on the pairBlend. At Input1 the joints are NOT constrained, at Input2 they are. So that gives me nice hierarchical interpolation when the joints are not constrained - I call this Playback_Mode. When the joints ARE constrained, I'm in Pose_Mode. That's it. I only have to make sure I keep one key at least at all times in my scene, so I don't mess up the pairBlends. It's a good thing to have hierarchical interpolation at your output... so you don't have to painfully create every arc (as a non-hierarchical system moves linearly. See my entry IK_Interpolations. Humans and other living things have bones hierarchies and every bone pivots around a pivot-point... and because of that... we move in arcs). John Park, another Disney TD, answered my emails and, among other things, he said not all their [freeform]rigs have hierarchical output, but... ok, quote:
If your bind skeleton is weighted to follow the FK bit during a section of your animation, then it will look exactly the same as you'd expect from FK.This wasn't done much on Chicken Little or much on Meet the Robinsons, but it is such a hot animator request that we've got it in the rigs for American Dog and other future productions.
hehehe, :) nice to know this, huh?)
One tough thing about freeform rigs, and especially mine (I saw on Maya Supertoon series that their rig ALSO uses IK and therefore gets automatic joints orientation, so it doesn't make the geometry explode while posing), is that at posing-time, you do get to seriously stretch and distort the body. Which is OK for me, if I could find a true-no-flip system to allow me to handle the rotations automatically along a chain... I'd use it, but for now, I prefer to rotate things myself. It's actually easy to pose because you translate-into-position, which is fast and accurate, and joints stay put, absolutely frozen, and then you rotate to correct the geometry deformations, and each rotation is independent of the others, so you don't counter-animate. Also, because I use inverted hierarchies on the legs (I could have done it on the hands too...), at playback the feet stay planted on the ground with, again, absolutely no need for counter-animating. The other ends of the hierarchy (the hips) won't be as fixed though, because of how the hierarchy is calculated, but that's no problem at all, and if I really want to have them freeze, I just set more keys, possibly on every frame - now that's a bit of counter-animating, but it's really easy, not to compare with the mess of having to correct feet sliding.
A last thing - a freeform rig is flexible but demanding. It's more of a 2D-approach to posing... means you have to be really aware of your poses and overall workflow at all times :D hahahahahahaaaaaaa :D
Comments
|
About me
I'm a character animator, visual artist, game dev, and music composer. I like to doodle, write, experiment, and plan my next big thing. I love tech that inspires and enables art. I have a formal background in music composition. And I like to walk around the world and see things up close. Archives
September 2021
|