Editing Ipo Curves
Here we will talk about selecting and editing the whole Ipo curve.
Adding an Ipo Curve
There are three ways to add an Ipo curve to an object:
- directly, editing the curve in the Ipo Curve Editor, as described in this page (see below),
- indirectly, pressing I in another editor, to add keyframes to certain properties (location, material, etc) of the active object.
It might seem more intuitive and friendly than working in the Ipo Editor, but of course it gives you less control over which curves you are creating/working on (see the indirect editing).
- recording the properties of the selected object, storing them in an Ipo Datablock during an “automation” session, or running the Game Engine.
Whichever method you choose, you must first select/activate the datablock type you want to animate (either an object, a material, etc.). If none exists/is linked yet, a new will be automatically created for you (see this page for details about Ipo datablocks).
To add an Ipo from the Ipo Curve Editor, it must be in “default” mode. We saw in the previous page that the active Ipo curve has its small rectangle, in the right list, outlined in black. A curve can be active, even when it is neither visible (name in black) nor existing (no colored rectangle). Just click LMB on its rectangle (or where this rectangle should be), and the black outline will mark it as active.
By clicking CtrlLMB in the main area, you add a (first) keyframe to the active Ipo, at the time and with the value corresponding to the click position. The (active) curve created (or updated) this way automatically becomes selected and visible.
Selecting a whole Ipo curve is done in the “default” mode:
- By clicking LMB (or ⇧ ShiftLMB for multiple (de)selection) on the colored rectangles of the Ipos, in the right list. Note that if they are not, these curves automatically become visible.
- By clicking RMB (or ⇧ ShiftRMB for multiple (de)selection) on the visible curves, in the main area.
Remember that selected curves have white control points/keyframes, and their rectangle in the right list is “pushed”.
You can also (de)select all visible curves with A (or Select » Select/Deselect All), and do a border-selection with B (or Select » Border Select) – simple LMB click-and-drag to add to the selection, and RMB (or CtrlAltLMB ) to remove from the selection.
Note that markers are also selectable, follow the link to learn more.
You can edit Ipo curves as a whole in the “default” mode of their editor, in a very similar way to what you do in 3D views in Object mode.
- You can grab (G), rotate (R) and scale (S) the selected curves (those visible, with white control points/keyframes) – operations also available from the Curve » Transform sub-menu.
- Additionally, for translation and scaling, you can lock the transformation along the X (time) or Y (value) axis, as usual by hitting X or Y during transformation.
- You also have the classic “transform snapping” features: holding Ctrl while transforming will snap it to one-frame/one-value steps, while holding ⇧ Shift will slow down the movement, increasing its precision. Note however that using ⇧ ShiftCtrl just slows down the movement, without reducing the snapping steps.
- You have some “snap to” options (⇧ ShiftS or Curve » Snap):
“Horizontal” snapping example.
- Horizontal – This is only useful with the default Bézier Ipo curves: it will rotate all control points of the selected curves to set them horizontal.
“To Next” snapping example.
- To Next – This will assign to all control points (keyframes) of the selected curves the value of the next one in the same curve (producing a sort of “shifting” of the curve…).
- To Frame – This will horizontally (timely) move all keyframes of the selected curves to their nearest frame (e.g. a keyframe defined at frame 23.2 will be moved at frame 23).
- To Current Frame – This option has no effect in the “default” mode.
- You can mirror the selected curves (⇧ ShiftM or Curve » Mirror), either Over Current Frame (i.e. the green cursor), Over Vertical Axis (i.e. frame 0), or Over Horizontal Axis (i.e. value 0.0).
- Cleaning and Smoothing
- You can clean your selected Ipo curves, i.e. remove control points that are very close both in time and value. Hit O (or use the Curve » Clean IPO Curves menu entry), set the threshold you like in the dialog that pops-up, and click on OK.
- There is also an option to smooth the selected curves (⇧ ShiftO or Curve » Smooth IPO Curves), but beware: its algorithm seems to be to divide by two the distance between each keyframe and the average linear value of the curve, without any setting, which gives quite a strong smoothing! Note that the first and last keys seem to be never modified by this tool.
- Transform Properties panel
- Yes, as in the 3D views – and also shown/hidden with N (or View » Channel Properties)! In “default” mode, it’s not much useful, as it only shows (and can edit) the X/Y minima/maxima of visible curves as a whole, hence allowing to scale up/down these curves all together.
Interpolation and Extension
Ipo curves have two additional properties, which control respectively their interpolation and extension behavior.
- You have three choices (T, or Curve » Interpolation Mode):
- Constant – There is no interpolation at all. The Ipo constantly have the value of its last keyframe, giving a discrete (stairway) “curve”. Very seldom useful.
- Linear – This simple interpolation creates a straight segment between each neighbor keyframes, giving a broken line. It can be useful when using only two keyframes and the Extrapolation extend mode, to easily get an infinite straight line (i.e. a linear curve).
- Bezier – The more powerful and useful interpolation, and the default one. It gives nicely smoothed curves, i.e. smooth animations!
- Remember that some Ipo curves can only take discrete values, in which case they are always shown as if constant interpolated, whatever option you chose.
- There is another curve option quite useful for Bézier-interpolated Ipos. Normally, the auto-handles of such curves would lead to an often unwanted side effect: the curve tends to “go over” its control points, i.e. to go higher/lower than its locally highest/lowest keyframes. This can be solved by forcing the “locally extreme” handles to be always horizontal – and this is what Blender does by default! However, you can switch back to the “full-auto-handles” behavior with the AltH (or Curve » Auto Clamped Handles) toggle.
- You also have four extension options (E, or Curve » Extend Mode):
- Constant – The default one, curves before their first keyframe and after their last one have a constant value (the one of these first and last keyframes).
- Extrapolation – Curves ends are straight lines (linear), as defined by their first two keyframes (respectively their last two keyframes).
- Cyclic – The portion of keyed curve is repeated ad infinitum before and after it. Note that if the start and end control points do not have the same value (Y axis), there is a gap in the curve each time it comes to this “assembly point”.
- Cyclic Extrapolation – This is quite similar to the Cyclic option, but each “cyclic copy” is, if needed, offset vertically so that there is no gap at the “assembly points”.
You can copy one or more Ipos into a buffer, and then paste them into the same Ipo curves (but generally in another datablock!). This is done through two header buttons:
- The “copy” button (down arrow) copies the selected and visible curves into the buffer.
- The “paste” button (up arrow) pastes the buffer content into the corresponding visible curves of the current Ipo datablock.
Note that this tool is not working (even though available) in “keyframe” mode. And in edit mode, only the selected points are copied/pasted (not the whole curve…).
To delete an Ipo curve, select it (in “default” mode), and hit X (or use Curve » Delete).