Aug 6, 2009

Quick Trick: Zero Zero Zero

I don't know if this is a result of my archaic way of animating, or actually a useful trick to share, but I do this constantly while I'm animating and would find it hard not to...

I regularly set controllers back to zero before I start posing them.

So basically, If its time to pose the spine of a character for example, even though I might be happy with the pose its coming out of, I often reset it to be completely default, then I start posing it. This is nothing to do with "letting the computer do work for me", instead I find that doing this enables me to keep track of poses relative to the default orientation of controllers.. I sometimes find that things can get a little off model, or just a little crazy when they appear to look just fine in the shot... but they cause problems later down the line ( I'm usually resetting rotations or attributes more often that translations, but it depends on the rig )

Another good time to reset controllers is if you get yourself in a mess. Some rigs allow you to get yourself in a tight spot if you're not careful with certain attributes, or rotation orders, especially if a controller has the ability to get into the same pose with a different combination of attributes.

So a good trick at this point is to reset to zero over a single frame.

so your foot pose might look fine in 3D, but the controllers underneath it that are getting it in that pose might be all over the place and crazy. So in that situation, I would set a key on say frame 20, reset the foot controllers ( and yes, the foot will be in the total wrong place ) but then pose the foot to match as near as possible the pose I want on frame 21, but with the more careful controller use that I can then move on with using in the shot.


17 comments:

victor said...

This is a very vise and usefull advise,
keeping the character "in model" is a huge and some time a hard task.
Most of the animation is done with lighter "blocking" GEO which some time unable to show exactly what is happening with real "rendering" GEO.
Same goes for a facial animation, even though most of it done with a proper "rendering" GEO zeroing some of the controllers will help to avoid mushing face off the model thought the shot.

bclark said...

great tip,I don't know how many people think about this issue until it is to late and then have to either key every frame or start over.

bclark said...

great tip,I don't know how many people think about this issue until it is to late and then have to either key every frame or start over.

Si Bean said...

That's such a good tip. I've been doing a little piece recently where the lowest spine CTRL and the hip rotate attributes essentially did the same thing. When I came to enter a new phrase of the animation, I realised I couldn't get the spine back to '0' without zeroing out as you suggested. Think I'll start incorporating this into my workflow now, thanks! Great blog btw, always a pleasure to stop by :D

Virgil said...

I kind'a disagree with you here. I zero out my controllers on selected parts of the rig from time to time too, if it's really necessary, but I think usually building a pose from the previous pose is the best way to work. not only it's faster, which is pretty important too, but also you make sure the interpolations don't get messed up. if you repose the character from zero you could reach the same pose with different rotational values, so you'd have to manually inbetween and hack your way through. and that's counterproductive, basically you don't let the computer help you.

along the same line, in the old days I used to think I need to have a bunch of keys, like every other frame, for solid control over animation. but then I heard the spline doctors and many other animators talking about efficient working with splines and I had to reconsider.

erica said...

I don't find it very archaic at all, in fact I do the same thing quite often! You are right that things often get messed up in a rig, especially a complex one, and the best way to get back on track is with a reset of the controls.

Thanks for sharing your workflow with us :)

Tal said...

I find my self working that way too, so i wrote a little maya MEL script for one click zeroing. it works great with an assigned keyboard shourtcut too.

download link:
http://www.hotlinkfiles.com/files/2729329_ce7f2/tl_setZero.zip

the only problem i have with it is that after i got the script working with keyed frames, it somehow stopped working on multiple objects. so at the moment it only works on one object from the selection.
I'll ne happy if anyone can help fix it.
thanks.

Rocky said...

I have this habit and i was guilty that it was very wrong.Maybe because i read it somewhere online that it might eventually lead to Gimbal Lock.If we were not strict with the rotations early on.
I still couldn't stop myself from doing it because it feels so convenient.And now that you've also let out your secret.I don't think its gonna bother me anymore. Yay!!!!

Jorge Rausch said...

It' isnt that crazy dude, actually it's funny, I do the same steps you named xD. However... I think it wll be usefull for many people Thx for sharing :)

Mathew Rees said...

I started doing this a while back too because any unforeseen problems i was creating with the rig were being compounded with each extra pose so i was having major problems with gimbal lock and all the fun that entails.

great posts and tips!

Goosh said...

STOP breaking my rigs!!!!! :P

Actually, what are you talking about? The rigs are unbreakable ;)

jeff said...

my favorite hotkey

rotate -os 0 0 0

and

move -os 0 0 0

Animator Trav said...

Ya, Victor Navone does the same thing for his spine. I've started doing it recently and it's helped a LOT. I never thought about setting a problematic controller back to zero over one frame tho. Great tip, Cameron! Thanks!

Josh Bowman said...

It's a neat idea that I've used before occasionally as well, I stopped though because I thought doing this would cause crazy motion blur happening since the foot is actually rotating over one frame very quickly, I never tested that so I'm not sure if it would actually happen or not.

Nick Vona said...

When i animate, I keep a frame at -1, zeroed out, I find that if I do run into problems with Gimbal that it gives maya a base line to run Euler Filter...

I like this post though...

Virgil said...

yo Josh and everybody else! just wanted to add that, yes, if you have different rotational values to something that looks like the same pose, it will create crazy motion blur. since the object does get rotated like crazy very fast.

for example: -90 0 -90 and 90 -180 90 would cause the object to look like it's rotated the same. you achieve the same pose, but in terms of rotations - disaster.

don't pose from 0. Goosh is right, you can break rig features that might depend on rotation, besides causing motion blur.

and it's also much faster to animate when starting from the previous pose and not from 0. you just have to understand rotations, and understand your rig, see what limits it has, and work with those, don't pose carelessly :D (I know, animation is art, but 3D animation is also tech... you can't escape it)

Cameron Fielding said...

I wanted to try and clear something up about this idea.

First off, resetting to zero doesn't screw up your rotations if you're careful. I would say that in fact, resetting to zero forces you to think about what channels your using more carefully, and in what order, but makes it easier to understand because you have the "zero" pose as a constant that you can refer against. BUT.. neither does NOT resetting screw up your values... its all personal approach and there is no correct way.

As for motion blur.. this all depends on how your renderer interpolates the motion vectors per frame... some renderers only render a scene based on the caching of the 3D models themselves ( basically each pose is a wireframe mesh, and the renderer doesnt care about rotation ) .. others use the animation curves by interpolating on sub-frames, and this is where you will see a weird blurry frame if you have used the trick to reset a controller ( maya renders this way ) ... 9 times out of 10 you can easily fix this problem by baking your controllers on every frame and running the euler filter before rendering.