Smooth Camera Animation Difficulty

I’ve been enjoying the artwork and the forum here for years. My first question. I am animating a camera and can’t get smooth motion.
What I’ve tried:

Constrained on a bezier curve;
Changed default setting for number of segments on bezier curve;
Subdivided to several magnitude more segments than video frames and smoothed bezier curve in Edit mode;
Increased fps (although I want 24 fps as a final result);
Parented the camera to a mesh with a softbody constraint;
Recorded camera movements and then smoothed in graph editor;
Manually created keyframes and smoothed in graph editor.

I am including an example here, which has just two key frames with linear interpolation. Shouldn’t this move smoothly between the two keyframes?

Thanks for any help.

Try turning on motion blur. A film camera will blur if there is much motion, this is what smooths out the motion.

You are doing this linear interpolation from pos A to pos B with a bezier curve ?? Not key frames ?
With key frames the interpolation would be linear if the handles are selected accordingly and if you look at the Graph Editor to see or show us the interpolated path… you have a straight line (?). I’m not sure if the linear interpolation you are speaking of is affecting the path in the Graph Editor in the wanted way…

Lateral motion at 24 frames will never look ‘smooth’. Motion blur and film noise will help, but even then, focusing on it too hard will drive you crazy because it’ll still never seem ‘smooth’ enough. There is no solution beyond not trying to see it and trusting the animation curves.

Maybe I’m not sure what you’re saying. Linear interpolation is about the opposite of what most people would use for something they want to be smooth.

If we ignore the start and stop, the camera motion in your video is perfectly smooth: it is constant. But if we take the start and stop into account, it’s very abrupt. This is what our curves look like with linear interpolation in a graph editor viewport:


For a curve to appear smooth, it needs to have a smoothly changing slope. No sharp angles. Like you get with bezier interpolation:


Bezier interpolation isn’t perfectly smooth (I don’t think it ends up having a continuous second derivative) but it’s a lot better than linear.

It sounds like you may be doing some other stuff that’s not entirely clear (like whether you tried and abandoned constraining to a curve or whether that’s inherent to your goal, what constraint you used to do so) but if doing a follow curve with an animated constant offset, which is what I’d recommend, you’d still want bezier interpolation for that offset animation.

I guess there’s another way to interpret this, which is that you think it jumps too much from frame to frame in the middle of its motion, in which case the answer is to render at a higher framerate (and host somewhere that supports that higher framerate.) Note that any post-processing in other applications can affect the framerate.

I really appreciate everyone’s advice and comments. I will try to address some of your points in a single response to Bandages.
Yes, the video example I included is using just two key frames and is no longer constrained on a bezier curve. This is just one of the iterations that I’ve tried. I figured interpolating between two keyframes is the simplest example.
To Bandages point, I realize that there is an abrupt stop and start but I want the camera moving at a constant speed which is why I used linear interpolation between the keyframes.
I tried using Jochomo’s idea of motion blur, but since I render out individual PNGs for each frame and then combine these for video it didn’t seem to help. Maybe I’ll try rendering directly to video with motion blur and see how that works.
In the end I may need to heed init_pixels advice, and learn to accept that things don’t always meet my expectations.
Blender is still awesome!
Thanks all!

No matter how many keyframes you use, this 24 fps video will stutter on a 60fps display. You should choose a video fps that divides evenly with your display of choice. When you try displaying a 24 fps video on a 60 fps some images will stay on the screen for 3 frames others 4 which causes the stutter. Whereas a 30 fps video’s frame will be displayed for exactly 2 frames on the 60fps display.

Thanks Kolloom. I did try rendering the video at 30 fps as well and still wasn’t completely satisfied. I appreciate the work you did showing how the 30 fps and 60 fps match up better.
I’m going to live with my current results for now, and continue to try other techniques on subsequent projects.

There’s a saying in VFX… “when in doubt, blur the shit out of it”
But seriously, you probably just need more motion blur.
Here’s a great video on how blur works that’s worth watching:

Wow, thanks Jockomo! Whenever I run into a problem I usually assume that I’m missing something fundamental and/or simple. Your comments and the video helped me look at my problem in a different way.
I have decades experience with still cameras - film and digital, and understand how shutter speed corresponds to moving cameras/subjects. I’ve been using Blender for years but never paid much attention to shutter speed. Whenever I render an animation, whether the render takes 5 secs a frame or 60 secs a frame, what I see is a series of static images. I did not grasp the concept of the camera or other objects in the scene still virtually moving during each render/exposure. It’s as if I imagined each individual frame render having an infinitesimally brief shutter speed.
Thanks for a good learning experience, both with video and with blender.
Time to blur some shit!