Tuesday, August 3, 2010

Tips for Editing Animation in 2.5 - Part 1 (Selecting Keyframes)

Having been asked about some of these things by various animators over the past few months (including members of the Durian team, and teams America and Argentina who also participated in this and other prominent projects), I thought I'd mention in passing some of these tips which may hopefully speed up your animating workflow in Blender 2.5.

This (should be) the first of a few posts dedicated to this topic.

Where these tips work
  • [D] - DopeSheet Editor (including Action Editor, etc. modes)
  • [G] - Graph Editor (F-Curve Editor and Drivers modes)

Select all keyframes on a particular frame [D,G]
1) Move mouse cursor over a keyframe that occurs on that frame
2) Alt-SelectMouse (click) on that keyframe

Select all keyframes in same curve (i.e. select whole curve) [G]
1) Move mouse cursor over a keyframe that occurs in that curve
2) Ctrl-Alt-SelectMouse (click) on that keyframe

This is equivalent to selecting curves in Curves Mode in the old IPO Editor.

Select all keyframes on either side of the current frame [D,G]
1) Position current frame indicator in a place where the keyframes are split into "to be selected" and "to be ignored"
2) Ctrl-SelectMouse (click) with the mouse cursor on the side of the current frame indicator where the keyframes you wish to select are

You'll typically want to do this when you want to move a block of keyframes to occur later, so that you can insert some new keyframes in the middle.

In that case, instead of selecting with Ctrl-SelectMouse first and then grabbing (GKEY) those selected keyframes, simply follow these steps, but press EKEY (Extend) instead of clicking in step 2.

Selecting "peak-triples" [D,G]
This is more of a specialist curve-pattern likely to occur with lipsync animation using shapekeys. The basic premise is that you have a set of 3 keyframes in close succession, at value = 0.0, 1.0, 0.0 or multiples thereof.

Anywhoo, the newly added "Select More/Less" tools, inspired by those for Mesh and 3D curve editing, are best to be used for this purpose. Simply select the "peak" keyframe(s), and PLUSKEY to select keyframes flanking it/them.

Selecting keyframes within a range [D,G]
While borderselect BKEY works by selecting all keyframes within the rectangle you draw, there is now a variant on this which allows selecting all keyframes along a particular axis as appropriate.

Use Alt-BKEY and just drag the mouse along one axis more than the other (i.e. a long thin horizontal or vertical rectangle). What you'll get is:
  • Horizontal - all keyframes (regardless of channels) that occur in the frames covered by the horizontal range of the region drawn
  • Vertical - all keyframes (regardless of frames) that occur in the channels/values covered by the vertical range of the region drawn
It's a tad confusing to get the hang of, but may come in handy in some situations.

Selecting Handles or Not [G]
In the IPO Editor, borderselect BKEY would select keyframe handles as well when trying to select keyframes. This was often quite a hassle with closely spaced keyframes, as the handles would often overshoot the neighboring keyframes, and would get selected as well, requiring painstaking deselection.

Now, borderselect just selects the keyframes, ignoring the handles completely. If you still want to select the handles too, you'll need to use Ctrl-BKEY to do so.

Keyframe Handle Visibility Options [G]
With a lot of keyframes around, it's often difficult to concentrate on the handles for a particular F-Curve, or even a specific keyframe. Luckily we have a few options for managing that as follows (all of which can be found in the View menu):
  • Show All Handles (Ctrl H) - This option just turns all handles on/off for the editor. Useful when trying to only see the shape of the F-Curves.
  • Only Selected Curve Keyframes - This option results in keyframes (not just handles) for F-Curves only showing up if the F-Curve is selected. To check if a F-Curve is selected or not, see whether its name is shown in white in the channels list (on the left). Useful for honing in on a particular F-Curve's keyframes.
  • Only Selected Keyframes Handles - This option results in handles only showing up if:
    • Show All Handles is enabled
    • Keyframes for the F-Curve are visible (Only Selected Curve Keyframes option)
    • Keyframe is selected (when this option is enabled)
For the cleanest view when tweaking, enable all three options. However, beware that the last option can mask the interpolation modes of keyframes (as handles won't be there to provide a comprehensive picture).

Easier Global Retiming [D]
The DopeSheet and/or Action Editor modes (but the DopeSheet in particular) are best for performing large-scale retiming of motion, especially during the blocking phase.

By enabling the "Summary" channel (it's an obvious button on the header), you can now view and select all the keyframes across all visible data (in the editor) easily. It is drawn as a orange channel as the first channel in the DopeSheet (and modes of it) when enabled. You can do anything to the keyframes shown there as you can with keyframes in any normal channel.

Currently, the Summary channel is not enabled by default as it does carry a bit of a performance hit at times. Also, despite many of the "industry standard" apps offering this kind of functionality via the TimeLine mostly, the Blender TimeLine Editor is not likely to have such functionality, as really this is all covered by the DopeSheet already (with the Summary enabled and collapsed) so reimplementing there too would be overkill. Additionally, as many animators who've worked with Maya will attest to, the DopeSheet editor there sucks bigtime, hence a tendency by everyone to avoid it.

Other Selection Tools
There are more selection tools than the ones mentioned. However, these should be easily findable in the menus (aptly named the "Select" menu). I've just mentioned these ones here as they are the most useful.

Next Time...
Next time, I'll continue by going over some of the tools for managing the animation channels you deal with.


  1. You're blog entries are very interesting and helpful. Thanks for also sharing this tricks.

  2. This is great stuff.
    This will help me a lot.
    Thank you very much

  3. Thanks for the tips! Some of this doesn't appear to be documented anywhere else.