How to move your camera through a lens in Blender

In Blender, you move a camera through a lens by parenting the camera to an empty object, then animating that empty along a path or by hand. The camera itself stays pointed in one direction while the empty moves it through space. This is different from moving the camera directly — parenting lets you separate the camera's position from its rotation, so you can fly through a scene without the view spinning.

The most common setup uses a Bezier curve as a path and a Follow Path constraint on the empty. This creates smooth, predictable motion that follows the curve exactly. You can also parent the camera to a simple empty and keyframe its location manually if you want more control over the exact path.

Key Takeaways

  • Parent your camera to an empty object, then move the empty instead of moving the camera directly.
  • Use a Bezier curve and a Follow Path constraint to make the empty move along a smooth, predetermined path.
  • Keyframe the empty's location at different frames to create motion without a curve if you prefer manual control.
  • Set the camera's rotation before parenting so it points in the direction you want to travel.

Setting up an empty object and parenting the camera

Start by adding an empty object to your scene. In the 3D viewport, press Shift+A to open the Add menu, navigate to Empty, and choose Plain Axes. This empty will hold the camera's position and movement.

Select your camera in the outliner or viewport. Hold Shift and click the empty to add it to the selection. The empty should be the active object (highlighted last). Press Ctrl+P to open the Set Parent menu and choose Object. The camera is now parented to the empty — when you move the empty, the camera moves with it.

Before you start animating, position and rotate the camera so it points in the direction you want to travel. You can do this by rotating the camera itself in object mode, or by rotating the empty after parenting. Either way, the camera's view direction stays fixed relative to the empty once parenting is set.

Creating a path with a Bezier curve

Add a Bezier curve to your scene by pressing Shift+A, navigating to Curve, and choosing Bezier. This curve will define the path your camera travels along. Enter edit mode on the curve by pressing Tab, then move the curve's control points to shape the path. You can extrude new points by pressing E and moving the mouse, or select existing points and move them with G.

Make the curve as long and as winding as you need. The camera will follow this path exactly when you add the constraint. You can adjust the curve at any time — the camera's motion updates automatically.

Exit edit mode by pressing Tab. The curve is now ready to use as a motion path.

Adding a Follow Path constraint to the empty

Select the empty object. Open the properties panel on the right side of the screen and click the Constraints tab (it looks like a chain link). Click Add Object Constraint and choose Follow Path from the list.

In the Follow Path constraint settings, click the eyedropper icon next to Target and click your Bezier curve in the viewport. The empty should snap to the start of the curve. If it doesn't, make sure you selected the curve correctly.

Check the box labeled Animate Path. This tells Blender to move the empty along the curve based on the current frame. Set the Frames value to match how many frames you want the motion to take — if your timeline is 250 frames long and you want the camera to travel the full path in that time, set Frames to 250.

Keyframing the empty for manual control

If you don't want to use a curve, you can keyframe the empty's location directly. Select the empty and press I to insert a keyframe. A menu appears asking which properties to keyframe — choose Location. Move to a different frame in the timeline by clicking on it or pressing the right arrow key. Move the empty to a new position and press I again to insert another keyframe.

Blender automatically interpolates the motion between keyframes. The empty moves in a straight line from one keyframe to the next. You can add as many keyframes as you need to create a complex path.

This method gives you frame-by-frame control but requires more manual work than using a curve. It's useful when you want the camera to stop at certain points or move at varying speeds.

Adjusting camera speed and smoothness

If you're using a Follow Path constraint, the camera moves at constant speed along the curve. To change the speed, adjust the Frames value in the constraint — a higher number makes the motion slower, a lower number makes it faster.

If you're using keyframes, you can adjust the interpolation mode in the Graph Editor. Select the empty, press Ctrl+Tab to enter pose mode (or use the mode dropdown), then open the Graph Editor. Select the location curves and change the interpolation type from Linear to Bezier for smoother motion, or keep it Linear for constant speed between keyframes.

You can also add easing to keyframed motion by adjusting the curve handles in the Graph Editor. Pull the handles up or down to make the camera accelerate or decelerate smoothly.

Rendering and previewing your camera motion

Press Spacebar and choose Play to preview your animation in the viewport. The camera moves along your path in real time. If the motion looks wrong, you can stop the playback and adjust the curve, keyframes, or constraint settings.

To render the animation, open the Output Properties panel (camera icon on the right), set your output folder and file format, then press Spacebar and choose Render Animation. Blender renders each frame and saves it to your chosen location. This takes longer than preview playback but gives you the final output.

Frequently Asked Questions

Why does my camera rotate when I move the empty?

The camera is probably not parented correctly, or you're rotating the empty instead of just moving it. Make sure the camera is parented to the empty as a child object, not the other way around. If you need to rotate the camera's view, do it before parenting, or rotate only the camera itself, not the empty.

Can I make the camera look at a specific object while moving?

Yes. Add a Track To constraint to the camera and point it at an object in your scene. The camera will rotate to face that object while the empty moves it along your path. This is useful for keeping the camera focused on a character or building while flying around it.

How do I make the camera move faster or slower at different parts of the path?

If you're using keyframes, add more keyframes close together where you want slow motion and farther apart where you want fast motion. If you're using a Follow Path constraint, you'll need to switch to keyframes instead — the constraint moves at constant speed only.

What's the difference between parenting and using a constraint?

Parenting makes the camera a child of the empty, so they move together. A constraint like Follow Path tells the empty how to move. You need both: the empty is parented to nothing, and the Follow Path constraint tells it where to go. The camera is parented to the empty so it follows along.

Can I use a different type of curve instead of Bezier?

Yes. Blender supports NURBS curves and B-splines as well. They work the same way — add them, shape them, and point the Follow Path constraint at them. NURBS curves are smoother but harder to control precisely. Bezier curves are the most common choice for camera paths.