How Do I Get Constant Animation Speed

I have created an animation of a pumpjack and it starts to rotate slowly and then picks up speed in the middle and then slows at the end. How do I make the rotation speed constant?

In Cinema 4D you can Animate a camera on a spline then open the “Timeline” (Menu > Window > Timeline) and edit the F-Curve to “speed up” or “slow” the camera down.

How would I do this in Blender?



Hi Paint Guy,

What part of the pumpjack are you animating, the head or the drive mechanism? They are pretty well balanced and move at pretty much the same speed, regardless of the direction of the head. There is a small variation in the speed, as most are belt driven.

I don’t know how you have rigged or animated it, but perhaps you could move key frames in the IPO or Action editor to achieve the correct timing??

Other than that, I’d have to look at the file…


Set the interpolation mode of the rotation curves to linear in the IPO window.

1 Like

Also, if you want to combine linear curves with Bezier in the same IPO, you can set key points to type Vector.

revolt_randy, hi thanks and yes I will try to post a video or something. let me try and explain this better. :slight_smile:
In Cinema 4D the animation would automatically “ease-in and ease-out” making the animation appear slow at the start, faster in the middle and slower again at the end. I think this is what Blender must be doing, automatically applying an ease-in/ease-out. How would I make this into a more “linear” animation so the speed is a constant speed?

Thanks rawpigeon. If Blender automatically gives animation an ease-in and ease-out, would this fix that an make it more “linear”. Could you explain how to do this or point me to a Wiki page?

Thanks. Can you explain how to do this. I am not sure I understand.


Keypoints along an IPO curve of interpolation type Bezier have “handles”, the little lines that extend from the center point that you can grab & move to adjust the shape of the curve. These handles can be set to move as a pair, or separately, allowing the curve on either side of a point to be adjusted independently of the curve on the other side of the point.

Handle type “Vector” automatically makes the handle point directly at the preceding or following point on the IPO curve. Thus if two consecutive points are made type Vector, the handles between them will point directly at one another and the curve will be a straight line between them, causing a linear motion for that segment of the curve. Vector handles can be adjusted independently, so the other parts of the IPO curve can be non-linear.

Making an IPO curve interpolation type Linear means that ALL the points along the curve will “lose” their handles and all curve segments will be straight lines. The Vector handle type allows combinations of linear and non-linear curve segments.

To make a keypoint with handle type Vector, just select the point(s) and use V-KEY. To return them to the standard Bezier handles use Shift+H.

Adjusting IPO curve shapes using the handles is a powerful way to finesse animations without having to use a massive number of keypoints along the curve.

Thanks for the explanation chipmasque. I’ve used the F-Curve Editor in other apps but Blender is a little different but the principles are the same. Here is an image of my animation in the F-Curve Editor. My animation is 120 frames long. All of the lines seem horizontal and when I click the little points and press “V” nothing happens. How would I make the animation “linear” so it plays at the same speed?


You’re working in 2.5, a little detail you should have mentioned earlier, since the animation curves are handled differently in that alpha version than in preceding releases. My comments were regarding v2.49 and below. I haven’t worked enough with 2.5 to be knowledgeable about it.

However, you’ll probably find some options under the Key menu item that will modulate individual keys, so that’d be best place to start looking.

If you’re familiar with F-curves then you should know that the horizontal lines mean that channel has no change in its values over time, and hence no animation. Looks like the only “active” channel is X rotation, which quickly jumps way off the scale (orange curve), but does show a non-linear shape. That’s the curve you need to make into a true straight (but NOT horizontal) line for fully-linear motion.

Sorry, chipmasque, I thought I mentioned I was using 2.5. Ok, I will look into the “key” menu. I guess there’s no way to make it linear like in Cinema 4D where you select al the keyframes and click the “linear” button. I will also see if I can find a “handle” for the X rotation to smooth it out some. Maybe that will make the rotation happen in a more linear way. Thanks again for the help. :slight_smile:

I’d fire up 2.5 to check on the procedure myself except that it crashes on launch due to an environment variable glitch – that’s what alphas are like :wink: . It means not being able to use the other versions if I change the variable, and I’m in the middle of production using the earlier versions. Sorry, wish I could help more.