Apr 6, 2007

Quick Trick: Moving Holds.

Whats a Moving Hold ?

Well.. moving holds are something you should never underestimate.

A great place to see moving holds ( and the first place I ever noticed them ) is in 2D animation, particularly disney stuff. Its pretty simple:

A moving hold is a slight and slow change in pose over a number of frames. They are mostly used to keep a character alive slightly when the pose is essentially "static". Imagine a movement like a head turn - its sometimes best to let the head keep moving in the same direction just a small amount after it "stops"... this is good to avoid any completely still body motion that always looks dead in 3D - but also to serve as a nice soothing contrast to the relatively fast movement before it.

Moving holds work particularly well on full-body poses. They can really set off an attitude, or soothe the eye after a quick pose change, and give the audience time to read a gesture. They also make the character feel a lot more organic. Unfortunately full-body moving holds are some of the hardest to do because there are a lot of controllers that you must animate very subtlety, and each controller must be a slight continuation of its own unique direction of movement. This quick tip offers a few solutions to this problem.

So here's where the quick tip comes in ..
  • First off... try and use moving holds wherever you can. I don't mean use full body poses all the time, or your characters actions will seem way too pose-to-pose, but rather just try and use the concept down to a micro level on body movements. So if those fingers spread out quickly, just let them bounce back a bit - then drift very slightly with a nice moving hold. If a character blinks, put a tiny moving hold for a few frames just to cushion the eye lid back into its "rest" pose after it opens again. We're tyring to avoid things looking "mathematical" or "mechanical" and moving holds can really help with this.

Quick and easy way to make moving holds ..

  • First off, here's a simple hand gesture. Very basic, but a good medium to show how a moving hold can help your animation, and a good example to show how to do it! So the hand is simply going from one pose at the start to another pose at the end. There is no inbetween right now, but we can use a moving hold to make even this basic movement seem a little more organic:

  • So one way we can start to make a moving hold is by duplicating all the keys of the last pose say 20 or 30 frames later. With spline interpolation, you will get an "overshoot" of the pose, then a small bounce back, we can use this as a starting point for a moving hold, because we are getting a pose "for free" that already includes all the continued movement of the controllers without us having to do much:

  • So if we look at one of the curves in the graph editor, we can see that a good pose to use is the pose at "the top of the curve", just before the curve begins to bounce back. This is the point at which the controller has continued its momentum, but then come to rest. We can now set an inserted key ( setKeyframe -i; ) on all our controllers at this point. This will give us a pretty basic, but passable moving hold - without much work! You can vary how extreme, or how long the moving hold takes by experimenting with where you set that duplicate key ( a duplicate key 5 frames later will produce a different hold to one 50 frames later ). This isn't a great moving hold by any means, but the video below shows how we can very quickly soften that final pose, making it a little more organic. Essentially what we are doing is "easing-in" to a final extreme pose.

  • So as a final example, I worked some better poses and a few inbetweens to this hand gesture. Here is the animation without a moving hold. Notice how when it reaches the final pose it becomes very static and appears pretty lifeless:

  • By using the previous method as a starting point, I created a pose to cushion into, that will create the moving hold. Now the final pose has a little drift, and feels more organic:

A problem with this method:

This technique is great for making holds quickly. If you like to work straight ahead or layered - you may find this pretty useful. If however you like to block all your poses, this technique will fail slightly because you are using a pose that is made for you by the computer. A different way to make a moving hold where you set precisely the pose you want at the end of the moving hold is like this:
  • Set your start pose ( in this example on frame 1 )
  • Set your end pose ( the pose that will be the extreme at the end of the moving hold - say frame 20 )
  • Set an inserted key on all your controllers on frame 17
  • Take the pose on frame 20 and shift it all the way back to frame 40
  • You should now get a gentle drift from frame 17 all the way into frame 40
  • Set your curves to "plateau" on all controllers on frame 40, this should soften the drift a little
  • Experiment with where you set keys ( eg 17 ) and where you move them to ( eg 40 ) for different results.

There are many ways to make moving holds. These are simple quick tricks, and most of the time they work pretty well for me. Moving holds are actually pretty difficult to do well, because getting that soft gentle drift into the extreme pose can involve a lot of tweaking curves. Hopefully these methods will give you something to chew on if you've been wondering about how to do this.


Jacob said...

excellent tutorial. very, very helpful. the only thing - if i may - could you post the last two videos as quicktime .mov's instead of youtube videos? With .mov's you can scrub... and also step frame-by-frame (impossible with youtube). I think this would help to understand the breakdown of the motion, and serve as a better tool for seeing the differences visually on the character (rather than just mathematically in the graph editor). Same thing for the new tutorial you posted about overlap. Pleeeeease?
Thanks again for the wonderful descriptions and visuals!

Cameron Fielding said...

hi Jacob.

If you know somewhere that does free quicktime hosting I would be super happy to hear of it. I know youTube is crappy for srubbing, but for now its the only thing I can use as I dont have any of my own web space.

thanks for the comments too man..

David Martinez said...

Hey Cameron!

I do love your website! Seriously, and your quick tips are killer stuff man! Keep it up!

Regarding to the hosting. I can host them without problem. Feel free to contact me at david.martinez.anim@gmail.com


Carl Campbell said...

Hey Cameron!
Love your stuff, it's great you have a blog so I can stalk you on a broader level :D Loved your demoreel and animations, they're always a great inspiration to me.

About decent hosting, try www.vimeo.com. You can't actually scrub in the flash video pane, but there's an option so people can download the original source file, so if it were to be a QT file, people could scrub it no problem.

On my blog I actually present my animations in vimeo's flash format and include a link direct to the download.
You should try it out, it's quick, easy and free :)


Anonymous said...
This comment has been removed by the author.
Anonymous said...

Hey guys,

You can step frame by frame through any video with this:


I use it to study animation that can't be saved and delete the video later because I don't believe in copyright infringement, just curious in how stuff moves, and frustrated by Flash's inability to step through frames.

Juan IbaƱez said...

Great Tutorial..simple but very effective..thanks so much..wish I could see more like these ones..keep posting they are really helpfull

anthonymcgrath said...

great thread - this is something I kinda discovered myself about a year back, however my trick is to (for example) startkey at frm1 then move to frm20 n key my pose, then duplicate that key at frm40. I then goto frm18, mmb drag that to frm20 and key, and it creates a fairly nice ease into the hold without overshooting.

Anonymous said...

I don't think moving holds are always possible (or even economical) in stop motion. Works for CG, but that's a different process despite the similar results.

Anonymous said...

fliponline.blogspot.com; You saved my day again.

Anonymous said...


Very helpful tip but for some reason the videos on youtube don't play correctly. thanks