From BlenderWiki

Jump to: navigation, search
User Manual: Contents | Guidelines | Blender Version 2.46

Interpolation (Ipo) is the process of estimating an object's position (or other attributes) based on a known start and end value, and the time between the start and the end. If I stand in 3D space (0,0,0) at frame 1, and I want to move to (2,2,0) by frame 10, then Blender can interpolate, for frame 5, that I will be half-way there, or at (1,1,0). To make that interpolation, you define a bezier curve which connects the two points, and Blender uses the curve to figure out the intermediate values.

Interpolation in Blender

Mode: All Modes

Hotkey: I

Menu: Object -> Insert Keyframe

The IPO datablock in Blender is universal. It makes no difference whether an object's movement is controlled, or its material settings, or its size, etc. Each of these aspects is called a channel. There is a channel for the object's X location, a channel for its Y location and so on. Once you have learned to work with object IPOs, how you work with other channels will become obvious. Blender does distinguish between different types of IPOs and the channels that are available, and keeps track of all of that automatically.

Every type of IPO block has a fixed number of available channels. These each have a name (LocX, SizeZ, etc.) that indicates how they are applied. When you add an IPO Curve to a channel, animation begins immediately. At your discretion (and there are separate channels for this), a curve can be linked directly to a value (LocX...), or it can, in some instances, affect a variance of it (dLocX...). The latter enables you to move an object as you would usually do, with the Grabber, without disrupting the IPO. The actual location is then determined by IPO Curves relative to that location.

The Blender interface offers many options for copying IPOs, linking IPOs to more than one object (one IPO can animate multiple objects.), or deleting IPO links. The IPO Window Reference section gives a detailed description of how to work with curves and their handles.

If there is an IPO curve for a channel, the interpolated value overrides whatever panel setting is changed by you. You can change the property value through the panel and re-key (through the I-key command) to take on that value for that frame. Otherwise, it will reset to the interpolated curve value when you render or change frames! This can be very confusing if you forget that a channel has been automated. You can always select a channel, select the curve, and Delete X it if you do not need it to be animated.

Ipo Curve Types

Ipo Types menu
Ipo Types menu

As well as the default Object Ipo, there are Ipos to control animation of Materials, Worlds, Shapes, Constraints, Video Sequence strips and more. For every kind of object in Blender, you can animate (change over time):

  • Object - the object itself as a whole, such as its location, rotation, layer...
  • World - World environment settings, such as horizon color, ambient light...
  • Constraint - limits placed on the object
  • Sequence - a video effect strip in the Video Sequence Editor.
Ipo Types menu
Ipo Types menu

Depending on the kind of object that is selected, additional animatable aspects become available. For example, the Curve Ipo type appears if the selected object is a curve and not a mesh; the Lamp Ipo type only appears if the selected object is a lamp. Whole other additional channels, or sets of channels become available for animating based on the object selected:

  • Mesh - Materials (colors, specularity, alpha), Textures and the Shape of the mesh
  • Curve - Shape as well as Path Speed (to vary the speed of an object following the curve as a path)
  • Surface - Shape of NURBS surfaces (donuts, spheres) deformed
  • Meta - no additional animation
  • Text - no additional animation
  • Empty - nothing additional to animate
  • Camera - Lens, clipping boundaries, Aperture, Focal Distance...
  • Lamp - energy (brightness), color, texture...
  • Armature - Poses, which are rotation sets for all the bones in the armature
  • Lattice - Shape of the Lattice

On the IPO window header, after the menu, there is an eye icon. Enable this to mute (or blind Blender to) the channel and any IPO curves. This is handy when debugging your scene in trying to determine, for example, whether lighting or material changes are making your character look funny.

Next over is the IPO Type, and you can click the up/down selector to change between the various IPO Types. For those channels that map to a texture, there will be a texture channel number selector that indicates which texture channel mapping is being automated.

Next over is the name of the IPO datablock. Different materials can share the same datablock. For example, you can make all materials fade out by creating an IPO curve of just the Alpha channel. If you applied that curve to each material in your scene, then regardless of the material's color, spec, etc, they all would fade out as their alpha channel was controlled by the curve. Click the X to delete, or the F to Fake user and retain this curve, whether or not anyone actually uses it.

Next over are the curve copy/paste arrow buttons, the zoom selector (click it and then box select a range of frames to focus on), and the lock icon which forces other windows to update when you make changes.

Animating Materials

Material Ipos can be used for animating a Material so that it changes over time; for example, a character's face can turn from red to blue in 10 seconds as he holds his breath. Just as with objects, IPO Material curves can be used to specify 'key positions' for Materials. Each aspect of a material is animated through a channel. Just as a Object IPO has channels for automating Location X, Location Y, etc, the Material IPO has channels for Color Red, Color Green, etc.

Any animation you do for a material will be reflected in all objects (and their material index) that share that material. Any animation can be driven by some aspect of another object (see IPO Drivers). Once a material channel is animated, the panel sliders and values reflect what the value is for that frame. Changing the value in the panel will not have any effect, because the value is being determined by the interpolated curve.

To access these channels in the IPO window, select Material as the Ipo type. There may be more channels than can be displayed in the window. To see channels that have scrolled off the screen, drag your MMB Image:Template-MMB.png to pan the window up and down. Pan the workspace to see the curve (or work in Keyframe mode.)

Creating Channels

There are dozens of Material channels. For memory and processing efficiency, and to just help your workflow efficiency, when you first create an IPO for a material, you get to choose a set of commonly used materials channels. With the mouse in the Buttons Window, displaying the Shading F5 Materials buttons, the command I calls up a pop-up menu with options for various sets of Material channels:

RGB
Color of the material
Alpha
Transparency of the mesh/material
Halo Size
Diameter of the Halo, if selected
Mode
An integer that specifies different settings of the material
  • 1 - Traceable for Ray-tracing, but does not receive shadows
  • 2 - Not traceable, but receives shadows
  • 3 - Shadeless
  • and so on. The easiest way to determine the rest is to play.
All Color
Many color-related channels - base, specular, alpha, emit (16 in all)
All Mirror
Many ray-traced reflectivity variables - values and color
Ofs
The offset of the selected texture to the surface
Size
The dimensions of the texture applied to the mesh/material
All Mapping
all the texture settings - color (actual color and amount of influence, Normal amount, offsets, size and so on.

The above-described popup list is just a commonly used set of channels, and not all possible channels are included in the superset of those lists. e.g., the RGB option just initializes/sets a curve for the three R, G, and B channels. For Emit, the "All Color" selection keys that channel among others.

The complete exhaustive list of Material channels is listed down the side of the IPO Window. Choosing a selection from the popup menu may, but not necessarily, set curves and values for every related IPO channel. For example, you can go through all the popup menu selections, and yet Mirror color is not keyed, even though you would think it should be when you select "All Mirror".

Consider memory and processing efficiency when selecting a set. It's inefficient to create a curve (and then have to interpolate it for every frame) when chances are it is not employed/utilized to actually do anything. The Material sets are there to keep the number of channels that Blender has to sift through to a minimum. Remember that when rendering, Blender has to go through every object x materials x channels to determine a value, so more channels is a multiplier effect on render time.

Animating Channel Values

After you select a set, IPO curves are created for the channels in that set, and the current values for those channels are locked in. Not all values for all channels are locked in. The channel may be listed, but not have a curve initialized. There are two ways to initialize a curve for a selected channel. First, LMB Image:Template-LMB.png select the channel (for example, Emit). Then, in the IPO window, either:

  • Ctrl LMB Image:Template-LMB.png click anywhere in the window itself to insert a control point where the cursor is. So if you want emit to be 0 initially, click at (frame 1, value 0). Blender creates a constant value (horizontally flat) curve. Move the mouse/scroll the window to the frame where you want it to change, and click again. Blender creates a curve, which you can then change.
  • select another channel and copy that curve to the buffer in the IPO Editor (use the little down arrow on the header). Then select the target channel and apply it to the desired selected channel (up arrow button).

Material curves are like any other curve type, and can be different kinds of control points, curve types, extend modes, and can be displayed as Curves or Keyframes.

Animating Texture Channel Mapping

If you are in a Material, Lamp or World Ipo Block, then a small Number field appears next to the IPO type Menu in the IPO Window toolbar. This indicates which texture channel is active. Recall that each Material can Map Input and Map To a texture, and these setting can be animated. The mapping for all texture channels can be controlled with Ipo Curves. Click the number and enter a number to change the texture channel being animated. Channel 0 is the top channel or base texture, and goes from there (channel 1 is the next channel down in the list). The Texture itself can be animated, but that is a different IPO Curve Type.

Driving Channel Values

In addition to animating a channel, such as a Material's Color, manually for specific frames, you can drive the change by having some other object do something, like rotate on its Z axis. As that other driver object rotates, blender changes the material color. This relationship is called a Driver relationship, and it works through an Ipo curve as well. Another example is a dimmer knob that rotates to control the lamp's energy channel. If, in the animation, you animate the knob turning, the energy output of the lamp will go up and down. This one knob can control many lamps; for example rotating it in the Z direction could make the inside lights go brighter and the outside sun get darker. the relationship between the know turning and the energy changing is controlled through a shaped curve, so you can make the relationship smooth, linear, or abrupt.

In the example to the right, we have a finger mesh with a ridged texture on the top texture channel (channel 0). When the bone (Hand.Pointer.1.L - the first bone of the left hand's pointer finger) is straight (rotation Z is 0), the Normal value of the texture channel is 2.0. As the finger bone bends toward 45 degrees, the Nor value decreases to 0, simulating the skin smoothing out. If the bone continues past 45 degrees, the Nor value remains at 0.

Animating Lamps

A Lamp IPO is yet another type of Ipo that controls aspects/channels of a lamp. You can, for example, change the color of a lamp over time by setting Ipo curves for the red, green and blue channels. The example to the right shows how to animate the energy (brightness) of a lamp:

1: Select the Lamp you want to control via RMB Image:Template-RMB.png in the 3D View.
2: Make sure you have an IPO window open.
3: Set the IPO type to Lamp.
4 Click on "Energy" to establish a lamp energy IPO.
5a,b,and c: Use Ctrl LMB Image:Template-LMB.png click to set the points for your IPO curve.

Animating World Settings

World Ipo Channel Groups

Pressing I in the Buttons window while the material World settings are displayed allows you to make an Ipo curve for any of the channel groups shown to the right. Within each channel group are individual channels.

For example, in the Horizon group there are three channels, HorR, HorG, and HorB for Horizon Red, Horizon Green, and Horizon Blue, respectively. You see these channels by selecting the World Ipo Type in the Ipo Window. Setting up an Ipo curve (via setting the color and pressing I in the Buttons window, or by manually creating points via Ctrl LMB Image:Template-LMB.png clicking in the Ipo window) animates these settings over time. By animating the world settings, you can simulate sunrise to sunset.

Animating Constraints

At the bottom of each Constraint panel is an Influence slider. Next to the slider is a Show and Key button. The Key button creates an Ipo Datablock and keys the influence setting at that frame. You can view the Ipo curve by selecting the Constraint type of curve set. This curve should vary between 0 and 1. A practical example is when you want a camera to track an object for a while, and then perhaps shift attention to a different object. In this example, you would create one constraint, with an influence of 1.0 between frames 10 and 50, and zero at all other times. If you use a bezier curve and key 0 at frame 1, then the camera will swing from its default position to point at the object between frames 1 and 10, track to the object until frame 50, and then resume its normal transformation.

Sharing Ipo Datablocks

Animation curves, such as delta location, can be shared by multiple objects. Defining a relative motion (dLoc) curve for one object would result in an Ipo Datablock that holds that displacement curve. You can easily assign that same curve to another object simply by selecting the object and using the Ipo selector (in the Ipo Window) to choose that Ipo curve. That Ipo datablock will then have 2 users. Each object will, during the same time frame, move relative to their starting position by the same amount.

If you want to delink the selected object from its Ipo curve, click the X next to the Ipo Name. If you want to make some customizations to the motion of the active object only (and not all the other objects that share this Ipo), you have to make a single user copy of the Ipo curve for this object. To do this, click on the Number of Users button (the 2 in the example above) located on the header next to the name. Blender will prompt you to confirm making a single user copy, and if you confirm, a new Ipo will be created (the name will change) and it will be assigned only to the active object.

See Also

Previous: Manual/Animation Basics Contents Next: Manual/Ipo Curves and Keyframes