When I make an animation, it always starts out slow, then speeds up, then slows down at the end. I cannot figure out how to fix this.
Simply go to the Animation Screen Layout:
Now select Channel > Extrapolation Mode > Linear Extrapolation (shortcut Shift + E):
And that should fix it for you.
If you look at the Graph Editor before doing this, you will see:
The beginning and end of the curve are levelled out, this is what gives you the slowing down effect. It is called a Bezier function. When you choose 'Linear Extrapolation' it makes the curve a straight line:
The straight line is extended in both directions giving you continued animation, whereby if you choose Interpolation, Key > Interpolation Mode > Linear (shortcut T):
What starts off as curves...
...results in straight lines between keyframes with no extension beyond:
Go to the animation layout, and in the F-curve editor you can either hit T, to set the channel interpolation mode to linear, which affects the whole channel you have selected in the menu on the left side, or hit V to set the selected keyframe handles to vector mode. With setting single keyframe handles you have the possibility to use both kinds of interpolations.
Use a simple driver
For a constant linear animation can make a driver that is a linear function of frame.
For example to rotate an object about x at one revolution (
2 * pi radians) per second in a scene with 24 fps, for ever...
Type the following
#2 * pi * frame / 24
directly into the X rotation euler channel.
. The hash
# prefix signifies to blender it is a driver expression.
Once entered it will turn purple (driver color) and can be edited directly (removing the hash)
frame, the current frame, and
pi are known to the driver namespace.
Note this could ofcourse be reduced to
pi * frame / 12