lock mode

AM's ik setup is unique in that it is always on unless you tell it otherwise,
and it doesn't require an effector or upvector handle to work. when you get
used to it, its a powerful way of working, but sometimes it can be cumbersome
to manipulate. It's similar in feel to posing a plasticine character using only
one finger; if your gentle you can get the skeleton to pose the way you want,
but if you push it too hard it'll quickly go out of whack.

For example, here's a typical 3 bone arm chain. [pic] Without any extra effort, you
have a pretty useable setup. Rotating the hand bone will just rotate the hand,
but as you start rotating it beyond it's limits, it'll pull the rest of the
arm along with it, like an IK chain should. Same goes for the rest of the
chain, however the higher you go, the more sensitive the chain becomes. If you
rotate the bicep or forearm too much, the arm will twist itself into all sorts
of bizarre shapes. I found myself doing this a lot when I first used AM, which
was unfortunate because it seems to make AM unstable. So how do you avoid
this?

For a temporary override, use the rotate manipulator (R). It will put the
chain into FK mode, allowing you to make quick corrections, and as soon as you
turn off the manipulator, the chain will go back into IK mode.

If you need a bone to stay in FK for an extended period, use lock mode. I'd
say this is one of the most useful features of AM apart from setting
keyframes, so I have it bound to the backtick key (`), where I can easily turn
it on and off.

Lock mode is a bit of a bad name, it really should be named 'toggle IK', as
that's what it really does. For example, generally in the aforementioned arm
setup, you want to pose the bicep and forearm freely, but you want to pose the
hands seperately without affecting the rest of the arm. Quickest way to do
this is to select the hand bone, toggle lock mode, and now you can push and
pull on it all you want, and it won't move the rest of the chain.

There is another way of doing this that's quite popular, which is to turn off
'attach to parent' in the bones options [pic]. This works fine, but I prefer
lock mode for several reasons:

	-if the hand is not attached, you can pull the hand away from the
	forearm accidentally, which you don't always want
	-if you want to constrain the arm to something else (another character
	for example), you can't constrain the hand directly, because again
	only the hand will move, leaving the arm behind. This too can
	be worked around by constraing the forearm as well as the
	hand, but the motion tends not to look quite right.
	-it's a 'permanent' change, whereas lock mode can be easily toggled.




ik, advantages, disadvantages
	-comparison to upvector/effector system in soft/maya


As mentioned, AM's IK system is unique. It's closest comparison is biped in
max, that is a hybrid IK/FK system. What's nice about AM's IK system is that
you can set it up to emulate the more 'traditional' IK setup of packages like
softimage or maya, and be able to override it at any time.

Upvectors and Effectors

First, a little back-story. While IK in it's purest sense means a system where
you can move child bones in a hierachy and have the parents follow, normally
it also implies a system where the child can move entirely independant of the
rest of the hierachy, and expect the rest of the system to follow it. In other
packages, this 'totally independant' child is called an effector, if you read
any softimage or maya docs you'll see this term crop up a lot. Normally the
effector isn't constrained to anything, meaning that you can position it
somewhere in space, and the chain of bones will touch it if it can, but if it
can't reach, it'll point at it as best it can. (example pics)

The other thing is an upvector. With an IK chain, if the effector falls within
reach of the chain, the chain may be able to find many ways to touch it. Most
of the time, this is undesirable. An example is an arm reaching for a door
handle. Normally, you'd expect most of the arm to be pointing down, with the
elbow facing the floor, however an IK chian doesn't know this, and could
easily have the elbow facing up, bending in reverse, poking through the
body... anything but what you want it to do.

Enter upvectors. An upvector give an IK chain clues as to the best way to
bend. In soft/maya, it's a null or handle that sit's halfway between the top
of the chain and the effector, and indicates a plane you want the bones to try
and stay in. This makes more sense with an example. If you touch the top of
your head with your hand, chances are your elbow is pointing out to the side.
In that case, the 'plane' of the chain is left-to-right, and up-and-down. You
could rotate this plane to face forward-and-back, in whcih case your elbow
could be facing in front of you, or rotate it 180o, in wiich case your elbow
is now facing somewhere out your back (if you're that flexible!) [pic].
Upvectors are an important part of any IK system.
(www.animfound.com has a tutorial with videos on this, take a look)

Doing the same in AM

Using AM's powerful constraint system, you can create the same setup. First,
you'll need an effector. You can use anything as an effector (even another
character), but generally people use another bone, or a null. Create a null,
position it near the end of the chain, then select the last bone in the chain,
create a kinematic constraint, and select the null. Now you can move the null,
and the chain will try and point at it, and you can even move the parent of
the chian, and the rest of the chain will rotate and shift to keep pointing at
the null. 

To add the upvector constraint, create another null, and this time select the
first bone in the chain, add an 'aim at' constraint, and select the new null.
This now gives the IK chain more information about how best to reach the
effector. You'll see that you can move the upvector constraint, and the chain
will rotate around to try and point the elbow in that direction, but still try
and reach/touch the effector. Why would you want to do this? Chicken dance for
example, or a scared character, or pivoting on feet for a sports move. Its a
very important control for a fully expressive character.

pws
	-blue bars
	probably the most annoying part of the AM interface, they're confusing
	as hell and serve no purpose that i can see. They seem to control the
	'used' key range of an object. If you want an object to appear in your
	cho for 30 seconds, even if you haven't set keys for that long, you
	drag it's blue bar out for 30 seconds. What is annoying about this is
	it's behavoir when you set keys _outside_ the range of the blue bars.
	You'd assume the object would dissapear, instead it goes back to it's
	the center of the world space, generally blocking the camera, other
	objects, lights, and making a nusance of itself. This is doubly
	annoying when it happens to cameras and lights; you won't notice
	anything changing in your viewport view, but if you set it to render,
	lights will suddenly move, camera views will change, and you'll yet
	again scream at hash for such a weird feature.

	Other oddities is that it can put multiple blue bars on the same
	object, seperate by empty spaces, even though there are keyframes in
	there. There's no way to delete these extra rogue bars, and worse,
	sometimes they'll just expand themselves to the maximum lenght of a
	cho (360000 frames), and because the frame slider width is linked
	directly to the cho's blue bars, the slider will often reduce itself
	to a sliver, even though the part of the cho you're working on may
	only be 30 frames long. (lots of example pics here)

	Anyways, the longer-than-needed blue bars are mildy annoying, but the
	shorter-than-needed bars can do crazy stuff to your render, so rather
	than do what I've been doing for ages (seleting each individual bar
	and lengthening them), there's a quicker way; drag a bounding box that
	starts above the bars in question, and away from any keyframes, and
	ends below and away from keyframes. The horizontal position needs to
	start about 1/4 from the beginning, and end past the end of them.
	You'll then get a bounding box that will only affect the blue bar
	ranges, but leave your keys alone. Be careful though, if you do this
	wrong you'll start scaling your keys, which you don't want!
	
	Update: Seems I've not been able to get this to work since I wrote it
	down here, instead just shift-click each blue bar until you have them
	all selected, then scale them out.
	

Red bars
	-order is important (lower = override, reverse of layers in photoshop)
	The red bars are your actions, similar to bars of video in a non
	linear editor like premiere. Having the properties panel open while
	manipulating the red bars will make understanding what you're doing a
	little easier.

	click once on the red bar, and you'll select the entire action. if you
	drag it left and right, you're moving it's start and end points
	similtaneously, ie, you're sliding it back and forth in time.

	If you grab one of the handles at either end, you're scaling it's
	overall playback time. Pulling the end handle towrads the starting
	handle is speeding up the action, while pulling it the other way is
	lengthening the action.

	The pink bar that sometimes follows the action bars shows that that
	action has 'hold last frame' checked. It just means that the character
	will stay frozen on the last keyframe of the action, rather than
	snapping back to whatever pose it was in before the action started.
	This can be very important for layering actions.

	Things to watch when using actions: 
	
	-Actions have an extra channel that is usually hidden, called the ease
	channel. It's like the jog shuttle on a vcr, it determines the direction
	and speed the action plays back over time.
	
	AM sets up a default ease of 0 to 100% for the length of the
	action range, which will update as you move the action, but it is 
	immediately overridden once you set an ease key, and the ease will 
	_not_ move with the action bar. This means that the action will suddenly
	seem to stop working. All that's happeing is the ease channel has the action
	on permanent pause, so you need to add a ease channel key of %100 at the end
	of the action range, and any other keys in between to control how it plays.
	
	-AM uses spline interpolation by default on ease channels, so if
	you have lipsync, it can drift out of time unless you change
	interpolation to linear

	-Note that setting negative ease values doesn't work predictably. Ideally it
	should lock the action to frame 0, but it often doesn't. Another good reason
	to switch to linear interpolation for most action ease channels, it avoids
	spline interpolation overshooting past zero.
	
	-Action ease serves an extra purpose when using actions with stride length
	that are moving along a path. It controls what frame of the walk cycle the
	character starts or ends on. ie, if a character needs to end
	a walk with their left foot forward, get to the frame where the
	character is at the end of the path, adjust the ease slider so that
	his left foot is forward, the walk cycle will now be offset to suit.
	note that you can only set the starting pose or the ending pose; for
	AM to do both would force the character to start sliding.
	
	-transitions must be staggered and directly beneath each other,
	otherwise use cross blend

	AM has a powerful non-linear editor, that is poorly explained in the
	manual. You can do blending, transitions, and additios of skeletal
	animation, most of the time it works quite well.

	transitions are the easiest to do, and most useful. say you have a
	character you want to go from a walk to a run. drag the walk cycle
	action onto the characters shortcut first, followeed by the run.
	notice that AM will put the run cycle beneath the walk cycle, and
	after it. this gives you clues as to how AM order of precedence works;
	if you have two actions that aren't set to blend, the one that's
	lowest will win. To setup the transition, select the first action, go
	to its properties, make sure 'hold last frame' is off, and turn on
	'transition to next action'. you won't see any change, because AM's
	transitions only work where there's a gap between actions. Select the
	run cycle, and drag it away from the walk cycle, you'll see a half red
	half pink rectangle appear between the two actions. as you scrub past
	it you'll see AM interpolates from the last frame of the first action
	to the first frame of the next action. (pics here). Because AM does a
	straight spline interpolation, it's best if you keep the transition
	short (under 10 frames), otherwise the transition will be too obvious.
	Don't make the mistake of pulling the 2nd action 'into' the 1st rather
	than away from it, in this case the 2nd action will immediately
	override the 1st and you'll see a snap when it kicks in.

	To make that last type of transition work, you use a cross-blend.
	Again, say you have a long action that you like, but you need to
	insert something in the middle. You can create the insert as another
	action, drag it onto the character in the cho, position it where you
	need it to be. Select the first action, go to it's blending tab, and
	select cross blend. A percentage slider will pop up. 0% will be the
	first action by itself, and 100% is the 2nd action by iself. To do the
	transition, create a key at 0% at the start of the 2nd action, a few
	frames later key at 100%, then towards the end of the insert make
	another key at 100%, then at the end of the insert create a final key
	of 0%.

	For doing small corrections to actions, the 'add' mode is handy. An
	example is adding a scared shake to a character that has already been
	animated. Rather than cluttering your original action with lots of
	keys that would be difficult to edit later on, create a new action
	that just has the limbs and body vibrating. You can then drag this
	action onto your character, move it so that it overlaps the original
	motion, select it's blending mode tab, and set it to 'add'. It will
	then overlay the original motion while keeping it intact, very handy.
	There are some things to watch out for (like constraints) that I'll
	explain later.

	-note that muscle motion doesn't blend

	a big disadvantage of action blending is that it only blends skeletal
	motion properly. muscle motion will be added, often with disasterous
	resulsts. Say you have a pose which opens the eyes. if you have it at
	100% (full open) for 2 actions, and you attempt to transition between
	them, AM won't interpolate the pose value during the transition,
	instead it will simple add them, thus setting your eye blink to 200%
	during the transition, looking really really weird. The only way to
	get around this is to only do skeletal motion in your actions, and do
	all your poses in the cho, or make sure each action has its own range
	of sliders that it uses; one action for lipsync, another for eyes,
	that way they'll never overlap between actions. Note that skeletal
	pose motion will transition fine.
	
	update: sometimes you can use this to your advantage. if you need a muscle pose
	to hit greater than %100, create another action that has the same slider
	keyed, but to a lesser value (say %20), when you overlay the two together
	you'll be 'overdriving' the pose. Creating two actions is a bit convoluted
	though, it's easer to add the extra pose as a cho action.

	-scaling key ranges, going to non-integer values

	scaling keys in AM is a big problem at the moment. it's easy to do,
	but the results are best avoidided. To scale keys, simply drag a
	bounding box around them, then drag one of the handles at either end
	of the boudnign box. The problem is that AM will scale keys into
	non-integer values, which makes editing them inordinately difficult.
	The frame slider is stuck on integer values, and it's not easy to pull
	the fraction keys back onto whole keys. The 'move frames' dialog is
	supposed to be able to fix this, but it works intermittently, so
	generally you're better off not moving keys at all. In case you do
	however, this is how the move frames dialog is supposed to work:

		-select the mode you want (trs), and the bone level (bone,
		branch, object), select the bone/object in question, and
		choose edit->move frames.
		-set the start and end values to the range in question, make
		sure scale is at 100%, and check 'integers'.
		-AM _should_ pull the keys back on to whole frames, but often
		won't...

	if that doesn't work, the only thing you can do is open up the channel
	view, select keys, and manually type in whole frame values
	into the properties. you don't want to be doing this for lots
	of keys, believe me!	
	
	update: I've been using the move frames dialog a bit more lately, and
	it works fine. It's still not as clear as it could be, but it definitely
	works.
	
	[need a mini-tut on move frames here....]	

spherical limits, avoiding and why

In my opinion, spherical and euler limits are more a hinderance than a help.
Spherical limits are hard to figure out, and euler limits will often get in 
the way of your characters movement. 
Euler limits are ok for mechanical objects that need their movment
strictly limited (telescoping objects, vehicle controls etc), but for
characters you're better off using a good effector/upvector system, and
eyeballing your character. A lot of times you may need to pose your character
in a way that it anotomically shouldn't be capable of, but needs to be done in
order to look correct from the camera's point of view. In these situations,
you don't need limits stopping you from hitting those poses. No matter how
wide you set a characters limits, you'll _always_ hit some position where you
need it to move just a little further.

turning grid off for interface speed

hash's interface isn't as slow as you think it is. It can handle dense spline
objects just fine, but what it hates is drawing splines over splines.
Surprisingly, the object that causes the most slowdown in terms of drawing
lines-over-lines is the default grid itself! For certain scenes, you can
almost double your frame rate just by turning the grid off. Thankfully there's
a shortcut already bound for doing this, shift-3 toggles the grid.

turning off as many things as poissible in the cho

Of course, the more you can turn off the better. Lights also slow down hash a
lot, and most times once you set them up you don't touch them, so you may as
well set them invisible. Select the light, and in it's properties turn both
solid and wireframe buttons off. Same goes for any other objects you don't
need to see; select them and turn off their wireframe and solid boxes. For the
camera, turn off the 'camera visible' option, it takes off the pink border.
The boudnign box mode is quite good to for speedy display; it will draw a
bonding box around each bone and it's cp range. If you have a well segmented
object, you may even be able to animate it completely in this mode. I believe
the old animatied 'running man' gif from 3dark was done this way.

Proxy models are also good for speeding up redraw, and are easy to create.
Make sure your model is saved externally (always a good idea, it seems to make
AM a bit more stable), find the model using your normal file browser, and make
a copy of it. rename the copy '[modelname]-proxy'. Import the model into AM,
and then tear apart the splines until you get a low res-non-textured version
of your original character. To swap between the proxy and hero models in a
cho, select the shortcut, and on it's properties open the drop down box, and
select the other model. Easy.

rotate and trasnslate manipulators, when to use

The 'advanced' rotate/scale/translate manipulators are very useful, the rotate
one moreso. As mentioned earlier, it allows you to temporarily disable Ik for
a chain, and it also allows you to rotate objects in purely x y or z, or
freely rotate them with a trackball style interface. Selcting the red green or
blue handles rotates purely in a single axis, while dragging anywere else
within the sphere rotates freely, but with more control than just dragging the
bone directly.

update: prior to 8.0m(?) the rotate manipulator wouldn't update properly if the
bone it was rotating translated beneath it. You'd need to tap R twice quickly to
make it work correctly. It was a cunning bug in that it updated visually, but the
actual center-of-rotation wouldn't move.

The translate manipulator is semi-useful, but generally you get the same
results from using the 123 shortcuts (constrain to xyz respectively). 

The scale manipulator is handy, allowing you to do linear scaling in 2
axis. If you want to proportianlly scale in x and y for example, rotate the
view until you see the red/green handle midway down the edges of the scaling
box, hold down shift, and drag it.

animate mode, very useful!

of the things i missed most from max was the 'animate' mode, that allows you
to either set implicit keys the way AM does, or just move things globally,
adding offsets to all keys at once. As it turns out AM DOES have this
function, it's just well hidden.

On an objects properties, there's a checkbox for 'animate mode'. If you turn
this off, any changes you make are applied equally to all keys for that
object. Why would you need this? Say you have an object that needs to centered
on screen, but it has a pose motion that means it starts small, and ends up in
a fully extended pose. You can key the pose slider as you normally would, then
turn off animate mode, go to the frame where it's fully extended, and drag the
object into place. Offsets will have been added to all position keys equally,
so it should hit it's mark exactly 
[launch sequence screen dropdown example pics]

dope sheet for breakdown (now for full speech too)

the dopesheet is a nice feature. i don't like the way the auto-breakdown tools
convert words into poses, but it's still a useuful visual aid for analying
sound.

Create a new action, and drag the sound you'll be using onto the action. Right
click the action and choose new dopesheet. Right click the dopesheet and
choose 'add dialog'. Type the sentence that your character is saying. When
you're done, AM will create bars (similar to action bars) for each word,
rougly sized according to the length of each. If you click on a word, you'll
hear AM play the section of sound that it's length covers. You can then drag
it left and right, or drag it's side handles to resize it into the correct
area of sound for that word. As you do this, AM will loop the start or end of
the word your editing allowign you to easily recognise where the word starts
or stops. Do this for all the words, and you now have a nice visual breakdown
of your sound.

To use the breakdown feature, first make sure you character has the preston
mouth shape set created for it (a set I personally don't use, so I can't
really use this feature), then right click each word and select 'break down'.
AM will consult it's dictonary of words and add the poses in sequence it need
s to create the word. Do thsi for each word, and you'll get a roughly blocked
out lipsync of your speech. I still think doing it by hand using a limited set
of poses (explained in that other tut) gets better results though, and it's
normally faster, and less complicated...

adjusing sound using gui tools

you can adjust sound in an action the same way you adjust actions. You can
slide it back and forth to change it's total playing range, and trim the start
and end by dragging on the left and right handles. This is a mroe intuitive
way to trim a sound because AM will loop that point of the sound your dragging
allowig you to hear where your're trimming.

using new timeline-doesnt-hold-focus behavior with copy/paste

Early in the Am2000 betas hash fixed a bug that allows me to work a lot more
efficiently; previously if you clicked in the pws timeline area, it would also
grab keyboard focus, meaning that your keyboard shortcuts (including copy
paste) wouldn't work. It now doesn't do this, which makes copying and
pasting keys very easy.

To insert a double-key hold for example:
	-get your selection mode into the right state (translate rotate scale,
	bone branch object)
	-select the thing you interested in, move your cursor to the pws
	timeline, drag the time cursor to the start of the hold, hit ctrl-c
	-drag the slider one frame forward, ctrl-v
	-quickly drag the slider to the end of the hold (say 10 frames ahead),
	ctrl-v
	-drage forward one more frame, ctrl-v again

working this way allows you to set double key holds very quickly for many
objects at a time; as well as quickly retime motions by copying a value in
between keyframes, and pasting it closer to either one of the keys surronding
it, similar to ed's timing tut (find it at sherwoods forest), but all directly in the pws view.
[video example]

simple key setup for blinks

i've got a simple keyframe 'recipie' for doing blinks, looks pretty good to
me, thought i'd share it:

	-start of blink, double key the eye open pose (100%)
	-very next frame, 0%
	-2 frames later, double key 100% again

for a quick double blink, i use
	
	-start of blink, double key 100%
	-next frame, 0%
	-2 frames later, 100%
	-next frame, 0%
	-2 frames later, double key 100%
	
for a double-take style of blink, shift the middle key and hold the shut pose
for longer, so that you have
	
	-start of blink, doubel key 100%
	-2 frames later, double key 0%
	-next frame, double key 100%		

for that pixar style of blink, setup seperate sliders for the left and right
eyes, and also for the last double key, seperate the double key by 1
or 2 frames, that way the eyelid overshoots slightly before settling
down again, watch buzz in toy story 1, he does this a lot.

update: The more I animate, the more I twiddle with the timings on my blinks. And
I thought I'd found a solid never-let-me-down rule for character animation... ;)
Of late I'm tending to leave a single frame space between the open to shut keys, and
maybe two frame for the opening again, and maybe up to 4 frames for an overshoot
between the final double key.


decals off for speed

decals also slow down the view a lot, if you can get by without them, disable
them. Options->rendering->realtime, check 'all views', and turn off 'show
decals'. it's also good practice to turn off 'show back facing polys'.
Although the final render always renders patches double sided, thigns like
particels and collisions rely on the normals direction, so by turning off this
option, you'll instantly see when objects aren't aligned properly, and you'll
be compelled to fix them.

update: there's now a keyboard shortcut to toggle this, ctrl-/ I think

XCV shortcuts for translate/scale/rptate and bone/branch/object

because of the way i use double keys and the copy-paste method using the
timeline to create them, I'm often changing filter modes for keyframe
operations. By this, i'm referring to the row of toggle buttons next to the
default frame slider. These buttons affect what information is copied and
pasted, as well as what gets affected by the move frames dialog. They're
pretty self explanitory; the translate/rotate/scale buttons toggle whether trs
information is copied and pasted, note that they're not exclusive, so you can
have both translate and rotate on, but not scale, or just rotate, or all 3
turned on.

The key bone/branch/object mode affects how much of a chain's information is
copied and pasted. If you're working with an arm, if you select the forearm and
are in 'key bone', you'll only copy information from the forearm. If you're in
'key branch' mode, you'll copy information from the forearm, hand, and
fingers, if they have channel information. And if you're in 'key object' mode,
it will copy keyframe information from the entire object, including anything
not in that bones chain, liek the head, other arm, legs and torso.

because i change these filter modes so often, i've bound shortcuts to them:

	x = key translate
	c = key rotate
	v = key scale

	shift-x = key bone
	shift-c = key branch
	shift-v = key bone

the other filter modes (muscle, etc, pose) aren't as useful, so I don't bind
these.
	
creating a big slider

i've always found the default slider too small, turns out you can actually
make a larger one (thanks to noel(??) at hash for this)

	Go to options->customise, select toolbars
	hit new, name the new toolbar 'bigslider'
	go to the commands tab, select frame
	drag the slider from the collection into the blank toolbar
	now the tricky bit; if you move your mouse over to the right edge of 
	the slider (not the toolbar, the slider), the cursor will change to a 
	resizing handle. Click and drag to expand the slider.
	To make it full length, you need to butt the left edge of the 
	toolbar just off the screen, and drag the right slider edge as far as 
	it'll go. You can now dock this to tbe bottom of your screen.

You can delete the smaller original slider if you like, but I prefer 
to have both, one for fine movements, the other for larger movements.


dissapearing bones, hiding bones (in poses), controlling bones

handy thing I learnt from the hash tapes is that poses also store bone view
modes, even though there's no channel for that data. This means that if you
have a character that has lots of bones you won't touch until you get to yoru
final pass of animation, you can just hide them, savign you the frustration of
trying to not select them, as well as speeding up viewport redraw (less lines
on screen = faster interface).

to do this, create a 'hide bones' pose, select a bone you want to hide, and in
it's properties select 'override default bones mode', and turn on 'hide bone'.
if you don't need to see the geometry associated with the bone (say it's a
tongue bone for example, and you don't wanna see the tounge while you're
animating the the basic movements), also turn off the wireframe and shaded
mode buttons. Do the same for the rest of the bones you don't want to see,
then when you're animating, just turn the pose up to 100%.

A slightly annoying part of this setup is that turning the slider back to 0%
doesn't turn the bones back on again; once you touch the pose, that's it, those
bones are off permanently. Well not really; you can actually turn them back on
quite easily by deleting that pose from your action/cho. It's not elegant, but
it works, and is faster than turning bones on and off by hand.

A variation on the above trick is to turn off geometry you don't need to see,
leaving just bones. If you see footage of pixar's in software as used during
toy story, you'll noticed they use this 'exposed skeleton with hands' view a
lot [pic of setup in AM, and screen grab from toy story video]

update: moving bones/poses that move bones will generally override the hide bones
pose, to fix it you need to delete the hide bones pose, then reapply it.


tab for selecting interesecting spline, child bone/parent bone

AM's default behavior for selecting object/bones in the viewport isn't optimal;
because there's no way to make bones or object unselectable (apart from hiding
them completely) often means you'll furiously click away at a bone, and select
everything BUT that bone.

More often than not though, you'll be selecting bones that exist close together
in a heirachy, flipping back and forth repeatedly (bicep - forearm - hand -
foream - hand - bicep etc..). A quick way to change selection this way is to
use the tab key; tab will select the child of the current bone, shift-tab
selects the parent. Sometimes this falls down if you have a branching heirachy
(like going from hands to fingers, or bicep to spine), but mostly it works
well. Mostly.

The shortcut works similarly when modelling; often you'll want to select a
spline, but whenever you click the cp you're interested in you select the
spline that intersects at 90o the one you want. If you hit tab, AM will cycle
through the splines that meet that cp.

update: tab is also meant to cycle through all the objects that were beneath your
last mouse click, it works fine. Strangely I've not had problems with AM doing
one tab behavior or the other, it just seems to _know_....

attach cameras to characters

This is a common technique used in a lot of packages. Generally when animating
characters you'll do the body movements first, and animate the face last. This
can be difficult to do though if the character is moving around a lot, forcing
you to constantly update your viewport orientation. An easier way it to create
a new camera, and translate/orient-like it to your characters head bone. That
way you can just hit '1' on the number pad a few times to cycle views to your
character. I've skipped some steps though, so here's the full sequence:

-create a new camera 
-right click the camera, new->constraint, translate to,
select your character, then select it's head bone from the dropdown box in
properties 
-doing this will snap the camera right inside the head of your
character, so change to a top view, select the camera, and while holding down 3
(constrain to z-axis, the direction the camera looks at), pull it back so
that it's a reasonable distance away.  
-right click the camera, new->constraint, orient like, select your characters head bone.  
-things will look _very_ wrong, easiest to fix by typing in values. x=0, y=-180,
z=0. You should now be able to switch to the camera and see your characters
face. You can adjust position through the camera by going into pan/orbit view
mode, and hold down control (pan) or shift (zoom) to adjust the view.

This isn't limited to just faces however. You could constrain the camera to the
root of an object, or just the hands, or the torso, so that you have as much
control as needed. You could even bind multiple cameras for top, front and right
views, so you never lose your character again. You'll probably want to hide all
those cameras, as the pink lines that denote the view frustrum tend to slow the
viewport a lot.

Another nice feature of this is that if you're working with multiple characters
of similar proportions, you can just change the constraints target, and the
cameras will flick to the new character, keeping all the offsets you created
earlier. If you wanted to get _really_ tricky, you could [create the cameras in
an empty object/] bind all the cameras to a null, and just constrain the null to
the character, thus requiring you to only bind the null to the character, rather
than 5 seperate cameras.

blending materiasl and decals

although it's not as easy as it could be, it's quite possible to mask materials
as applied to an object using decals, and vice versa. It just requires an
understanding of how 'empty' material properties and alpha channels of decals
interact.

Texture properties apply in a set order; decals always override materials, and
materials always override object properties. However there are ways to create
'holes' in decals and materials so that whatever is beneath them can be seen.

If you create a new material, and apply it to an object without changing any
properties, the objects surface will remain unchanged. If you stack seperate
materials, or even attributes within the one material, anything you don't
touch will become a 'hole' showing either the material beneath it, or the
object properties beneath that.

With decals, the alpha component of a colour map determines what will show through 
or not. With this in mind, you can use some creative layering to mix textures.

For example, say you wanted a printed circuit board with pulses of electricity
moving along the traces. For the pulses, the easiest way to animate them is to
use an animated material, made up of fine lines. A perlin noise or spherical
combiner is perfect for this. Using a black and a bright blue/green, change
settings until you have sharp thin bright lines on a black background.
Apply this to your model.

Now create a panel decal in photoshop, but when you do so, copy the basic line
pattern into the alpha channel. Anything that is white will be solid, anythign
black will be transparent.

When you apply this to your model, the black lines of the alpha will be
transparent, thus allowing the 'pulse' material behind to show through. Assign
a glow to the material, and animate it, and you're set!

To get the reverse effect, simply invert the alpha channel in photoshop.

using rotoscopes for simple compositing

Rendering in layers and compositing afterwards is probably one of the best
ways to cut down on render time, as well as allow you flexibility to quickly
change elements of a shot with minimal effort. AM's rotoscopes work
fantastically as compositing tools, as most of the time your composites are
usually little more than sequence A over sequence B, using an alpha channel as
a mask.

To do this, render your foreground elements with alpha as an tga sequence, then
either render your moving background elements, or just have your still background
image ready.

Open a new cho, right click the camera, new->rotoscope. Select your background element.
Create another rotoscope, find your image sequence, be sure to check the 'image sequence'
box. The quickdraw display should use the alpha to give you a rough comp. Click the render to
file button, select the correct dimensions, turn on flat shading, turn off filtering and
oversampling if you rendered your fg and bg elements at the same rez as yoru final render,
and render away. AM is pretty quick at compositing, on my PIII650 it can do maybe 5 seconds
a frame with 3 D1 PAL elements.

Unfortunately, particles and alpha channels don't agree with AM's compsiting methods, (tend to
halo and fringe), so you'll need to comp them in after effects or similar.

-black bars over renders/flickering objects = not visible objects in PWS

Make sure you set all your objects to visible and smooth shaded, even if you've got their
active channel turned off, otherwise they'll flicker randomly in your final render, which 
is HIGHLY annoying.

-don't use 'clear constraints with pose', creates too many channels,
clutters the PWS

If your fancy shmantz IK setup involves 300 bones ala some of raf's extravaganza's, you really
don't want to put that pose into the 'clear constraints with pose' dropdown! Doing so will
mean that all those bones you've set keys on in the pose will get their own channel, filling up
your PWS with channels you've never edit. However if you drag that pose to %100 instead, all
those channels stay hidden behind the pose, so  you don't have to see them. Ideally, 'clear
constraints with pose' shoudl give you an option to be activated by channels or by poses, but
until that feature slips in, just drag the pose slider to %100, and save yourself some PWS scrolling
effort.

-right click doesn't always work properly (brings up stupid docked tools menu
instead)

Ugh, this bothers me a lot... if you right click in empty space in the pws, or if you right-click
it when it's not ready to receive focus, AM brings up the toolbar selection menu instead, which 
is utterly useless. Don't be confused when this happens, just curse stupid microsoft MFC behavior,
click somewhere else, then try bringing up the menu again. A better option is to left click the
entry you're interested in first, then right click, however if you left click twice within 2 seconds,
AM thinks you want to rename the current item, and changes the display accordingly... annoying!

-rake lights to bring out surface detail (engine panel detail on that
model)

i read in a maya manual somewhere that bump maps have an ideal angle of 30 degrees to the camera,
and 30 degrees to a light. This ideal setup isn't always achievable, however it's simple to just rake
lights close to the surface of a model. The falloff area on klieg lights also looks swish when hitting
a surface at a shallow surface, much more intersting than hitting it dead-on.


-photoshop actions and batching for processing frames (add alpha, glows etc)

If you have photoshop, you can do lots of groovy things to image sequences,
especially if you've rendered an alpha channel as well. Find the book 'photoshop
channel chops', filled with great tricks, and they work even better when used in
an action to a range of images. 

-delete first key, then last key to quickly fix a misplaced initial key

Often I'll be on frame 600, add an object, then move it, only to realize that it's now got a slooow
drift from wherever it was added, to where I dragged it at frame 600. Easiest way to correct it is
to select the object, go to frame 0, delete it's translation/rotation keys (you won't see it delete
at first, but if you update you'll see that AM actually copies the very next keyframe to frame 0),
then you can delete the end key you don't need. If the object needs to stay put, also turn off animate mode.


-sing axogons virtues to the heaveans, everyone must have this

Yes, it looks ugly, yes it's free, yes it's poorly documented, yes it's made by those darn ruskies
(kidding!), but it's great if you can't get access to after effects. You can fix the ugliness by
setting it's display fonts to a more reasonable MS Arial, thus bringing it up to speed with the rest
of the win32 world, but the documentation side can't be worked around apart from just playing with it.
Actually, now that I think about it, it works kindasorta to the action blender in AM; you add tracks
from top to bottom, the lowest track having precedence. Actually, it gets a bit wierder than that, but
it's really not that hard to use (I'd wager it's easier than AE!), it's fast to work with, and
has a pretty speedy render. Quick example, to do a comp of two layers with an alpha channel, you drage
the background into layer 1, forground into layer 2, then a compositor effect into layer 3. Double
click the effect layer, set it's sources to layers 1 and 2, and the alpha to come from layer 2 too.
Hit ok, and there's your comp. It also comes with good chromakey tools, lumakey, audio support, masks,
titles, RGB switching, colour correction, and a bunch of other stuff.

Probably the best feature is the 'find files' dialog. It has a folder listing on the left, and a preview
window on the right, and will open up just about any image, video, or audio format you throw at it, instantly,
in the preview window. This also includes image sequences, which are conveniently disaplyed as 

'filename[0-340].tga'

in the folder window (this can be turned off), and can be scrubbed through. If they just sold the file
browser on it's own, I'd buy it. Add a compositor too, and it's too good to pass up.

I heard recently that they no longer offer the free version on their site, which is a bummer. It should
be floating around shareware archives though, it's really worth finding.


-upload that funky hose setup, show examples

Nothing special really, set of unchained bones on a path constraint at various percentages, with all of
them set to orient-like the first to stop it twisting out of control. You then hide all the bones, give
the path maybe 4 points, add controller bones over each of these points, and you have a pretty solid
bendy hose setup.

-dual monitors, yes you need them

Having your PWS and timeline full-screen is a pleasure that I'm sure is illegal in a few states.
It's almost wrong, I can't animate at home anymore because I find working with a single screen
too constricting. I'm sure you have a spare crappy 2mb non-accelerrated vid card lying about somewhere,
find a crappy 14in monitor to go with it, stick it in your machine (you ARE using win98/2000 right?),
and share the bliss with me.

It's handy for just about everything else too; photoshop, web browsing, email, excel... just do it!

-seperate render passes for glow elements, particles, reflections, how to add 
glows in AE/Axogon, advantages, steps

bah, too much effort now, I'm tired... try all the other tips first, then when you're sure you
need me to flesh out this one, lemme know... =)

-4 sided lathe is enough detail for most tasks, show examples

It is, trust me. Anything mostly tubular can be done using a 4 sided lathe. Megaphones, pens,
the trusty wine glass, tyres, buttons, cd's.... 4 sides is plenty round.

-using vim/text editor to make changes to AM files, when, why

Gotta update a file reference, but don't want to listen to AM complain 30 times that it can't
find file blah, even though it's clearly over _there_? Want to change a light from raytraced
to mapped shadows, but you don't want to affect other lights that point to the same shortcut?
You set that ultra-mega object visible and now AM won't load that cho? Just wanna play around 
with your AM files because your that bored? Fire up that text editor!!

The AM file format is pretty simple to understand for the things that matter, ie file references,
shortcut references, display settings, and other stuff. A good search/replace tool is your friend
here. Vim has one (www.vim.org), although it's got a steep learning curve. Wordpad has a pretty good
one, notepad's one is kinda sucky. It's easier if you 'prep' your cho for editing. Make sure you save
it externally, and it helps if you can name the object you want to edit something that'll be easy to find,
eg 'FINDME_shortcut_to_car'. Search for that name, directly beneath it will be the bulk of the options
you wanna fiddle with. Just make sure when you finish that you save the file with a different name in case
you need to go back to the original later on. This has saved me on many occasions!


1