# animating smooth and *uniform* transitions between keyed rotation values

My problem: I want to animate a camera’s rotation using discrete rotation values but I: a) want smooth transitions between rotation values, therefore can’t use a linear curve with the rotation values as keys; b) want the rate at which the rotation changes to be uniform throughout the entire animation, therefore can’t use a bezier curve with the rotation values as keys.

So I think the final curve controlling rotation would be a result of these rotation values multiplied by a curve which controls each value’s influence as a percentage over time. Think of it as analogous to shape key animation, where the rotation values are the shapes, and the keyframes are the product of each of these keys multiplied by a specified percent (0.0-1.0).

I hope I have explained this clearly and accurately. How would I do this? Please keep in mind that I am no mathematician. Thanks tons for any efforts to help.

There is an F-curve modifier called “Envelope” that may help.

I still don’t quite get why this isn’t a linear function. From your description, however, you may be able to approach it by using something like a rotating empty (at the center of rotation?) and then place the pivot point at the empty and then put a copy rotation constraint on the camera, constrained to the empty and finally then you could use an f-curve to animate the strength of the constraint.

Okay but the manual says this modifier “allows you to adjust the overall shape of a curve with control points”. I don’t understand what the difference is between this and just editing the F-curve control points. Any info on how this works would help.

This sounds like a curve modifying a curve which is what F-curve modifiers do.

In the end you’re going to end up with values for your rotation that could be plotted as a unique curve, because they change with time – that’s what animation is, and f-curves represent channels of animation. I was just addressing your idea about how to get that curve.

Continuous, rate-invariable rotation (per channel) can be done with a curve set to Linear extrapolation mode. The slope of this line will determine the rotation rate. If the rate changes, or the rotation direction changes, then the change can be instantaneous (linear curve, hard angle at the change, or gradual (bezier curve, ease-ins & outs), but there are no other choices.

Rate of change of rotation would be expressed as changes in the slope of the F-curve over a particular time segment. The slope between keys that define that segment of time can be linear (constant rate for any one segment, increasing or diminishing over a range of segments, with abrupt transition; or a similar curve with smooth transitions using a bezier adjustment that intersects the target rate values at the appropriate keyframes.