Home Technical Talk

Biped Thread of Bippedy Bip Bop Boo Workflow

polycounter lvl 7
Offline / Send Message
Tofubun polycounter lvl 7
Hi!

I'm an animator going from using custom rigs and the glorious land of Euler to the unknown often berated Biped.

I've said to myself I'm going to use Quarternion now and TCB as I have read many reports of Euler being funky with Biped, not sure about in max 2011.

I would like to share some notes I have found and would also love for any vet. animators with biped to share their workflows/tips/tricks/scripts they find useful in their day to day animation with CS.

Please share your tips as im learning at the moment and any input would be great :D

Scripts:


http://www.scriptspot.com/3ds-max/scripts/worker-of-biped
Worker of Biped. Selector Script

http://www.scriptspot.com/3ds-max/scripts/biped-hand-selector
Biped Hand Selector Script

animation friendly terms for TCB
http://monsterblues.wordpress.com/2006/12/03/biped-tangent-tool/

Notes:
Charles Tinny -- Halo Wars


As I said in a previous response, I haven't used biped in max2009, so I don't know how relevant my comments will be. I typically do not use euler controllers with biped because I find that max becomes extremely sluggish while biped becomes even more unpredictable. (Ironic because an animator has more control with euler than TCB.) So, for that reason, I leave biped alone and use the default TCB controllers. It is possible with TCB to make the splines (in the graph editor/track view) to do what you want. (i.e. slow ins, slow outs, linear splines, etc.) However, biped is very clunky in the graph editor so do your experimentation on exploratory animations, and use that newly found knowledge in production animation.

In particular when rotating the Bip 01 in 360 you want to use multiple keyframes to achieve this action since, as you mention, biped takes the shortest route to interpolate (or inbetween) to the next keyframe. Do this as a test and see what works best.

When doing a 360 degree motion I usually don't set my ending (360 turn) key until I've done the following steps, which I find easy to follow.

*(Before you begin, for clarity purposes set each new keyframe 5-10 frames apart.)

1) Select your Bip 01 and set a keyframe at degree 0
2) Choose either to rotate clockwise or counter-clockwise, now set a keyframe at degree 90
3) Continue rotating in the same direction that you chose in step (2) and set a keyframe at degree 180
4) Same rotation direction, set a keyframe at degree 270
5) Same rotation direction, finally set a keyframe at degree 360 (which is really degree 0 for biped)

*(You can eyeball all your rotations, they don't have to be perfect.)

You should see that your biped is rotating 360 degrees.

As a second test, you can also try just setting two rotation keyframes on your Bip 01 (about 30 frames apart for clarity). Go to the graph editor/track view and change your view so you can see the Bip 01 rotation curves; then select your first keyframe and set it to a value of zero. Next, select your second keyframe at frame 30 and set it to a value of 360 or -360 (either will do). Watch the test animation to see what results you get. (This may or may not work.) I don't remember which axis (x, y, or z) is the correct horizontal axis, so you'll have to figure that one out on your own.
Euler Centre of Mass?

thanks to Max 8 Euler curves, working in biped is a little easier.

I end up only using the Curve Editor for the Bip01 (center of mass) only. I rarely need it for any other biped parts.

Remember: There's a seperate selection for 'rotation,' 'verticle' and 'horizontal," so don't mix them when you are adjusting curves.

Once you make your curves linear... there's no going back. you won't be able to manipulate the tangets once you make everything linear (can't ever imagine how often you need to do that tho).

The only time I ever need to adjust the TCB's is for the Bip01, hands, and feet. When they're planted.. .or supposed to remain stationary, the curve will cause them to move slighty between the sliding and planted keys. Just zero out the "continuinty" to fix any sliding hands/feets/bip01s when you don't want them moving at all.

Replies

  • Tofubun
    Offline / Send Message
    Tofubun polycounter lvl 7
    By Wrath:

    Most animators prefer working with Eueler because you can see and directly edit the f-curves. However, if a rig is careful with setting rotation order you can avoid most issues with gimbel in most circumstances. It's impossible to avoid in all situations, but you're really only going to run into it in the ball-and-socket joints, ie those with 3 axis of rotations...especially those with very broad range of motions.

    General rule of thumb for rotation order is 1st axis is 'twist', or along the length of the bone. 3rd axis is the main 'bend' angle. And the 2nd axis is the 'up' angle. For most limbs that's a pretty easy distinction. But for something like the upper-arm, it gets a bit trickier to identify the 'bend' axis. In those situations, I favor the the angle with the greater range as Z. Because of the way Eulers are resolved, the 1st and 3rd axis have a full range of -180 to 180, but the 2nd axis only has a range of -90 to 90. Beyond that, and you're going to get a flip on one of the other axis.

    Euler controllers also give you a easier value to connect to through parametric wiring or script controllers. If you're doing somethign like rigging some custom attributes on an IK foot controller then it's easier to wire directly to the Z rotation than jump through the extra hoops of working with quat or matrix3 values (though you can always get/put rotations as a EulerAngle in maxScript). There's also Expose Transform helpers that do a lot of the grunt work of converting matrix 3 values of an object into an array of values you can plug into a paramater or script. So, not really a deal breaker there.

    The main downside of Eulers (other than gimbel lock) is that an orientation can be reached in more than one way. So how you physically rotate an object for a keyframe can make a big difference to how orientation interpolates between keys. Fortunately, there is a Euler Filter tool in the graph editor to help sort things like that out.

    Quaternions are immune to gimbel lock because they're a vector (axis of rotation) and an angle (rotation amount). However, their interpolation between keyframes is controlled through Tension, Continuity, and Bias (TCB) settings, which many animators have difficulty dealing with. Most animators will avoid the issue alltogether by just adding extra keyframes rather than fiddle with TCB settings...but you'll still need to go in there an set something when you're dealing with holding a pose.

    One of the major drawbacks to aauaternions is also don't allow you to offset one axis of rotation in the timeline like you do with Eulers (something I do all the time when making cycles). Quats are a vector defining an axis and a float defining a rotation amount. So they're a more mathmatically precise way of describing the rotation of an object, but not in any way that normal animators think about rotation.

    I have worked with rigs that use a combination of controllers. In fact, I've generally found that the upper-arms are pretty much the main culprits for *really* needing TCB controllers. Everything else is either a simple hinge joint, only needing one axis of rotation, or doesn't require the same range of motion in all 3 axis and can generally be resolved by changing the rotation order on a Euler rotation. Even the upper-arms can work with a properly ordered Euler controller for 90% of the animations you might need.
    Does this mean I can avoid the graph editor all together and just add more keys as required? I guess maybe thats how I'll have to work, I'm going to test Euler on the spine tomorrow as thats the main thing thats quite frustrating in not being able to offset.

    also: legend http://www.polycount.com/forum/showpost.php?p=1357924&postcount=13
Sign In or Register to comment.