what's the easiest way to make a complex camera movement? For example, the camera pushing in towards an object while also orbiting around it?

I know how to do those things separately, but not together.



1 Answer 1


If you are animating the camera's motion, the simplest way is to position the camera where you want it to start; keyframe location; move it to where you want it to end; and keyframe location. This gives you an F-Curve that you can tune in the graph editor to give you precisely the in-between positions you want.

If you are looking for ways to automate that specific motion, one technique that I've used successfully is to create a BezierCircle, give the camera a Follow Path constraint for the circle and a Track To constraint for the object and then use a driver to control the circle's scale, driven by the the circle's Path Animation Evaluation Time. Details follow:

At the origin, in object mode:

  • Create your object
  • Create an empty
  • Create a camera and make sure that it's location and rotation are zeroed out.
  • Create a Bezier circle. Scale it appropriately and apply the scale.
  • Parent the Bezier circle, the object, but not the camera to the empty.

At this point, you can move the empty to wherever you want the object and the following will work.

  • Create the constraints for the camera. Here I'm using a sphere as the object and my constraints end up like this:

Camera Constraints

  • In the Properties Editor, find the BezierCircle's Path Animation and expand it. Right click Evaluation Time input field and select Copy as New Driver.
  • In the side panel, Right click the X Scale input field and select Paste Driver. Then Right Click and select Edit Driver. This box will appear

Driver editor

Change Average Value to Scripted Expression. Enter an expression in the expression box and click Update Dependencies. Because Evaluation time causes the camera to orbit completely by going from 0 to 100, I picked (100 - eval_time) / 200.0 + .5 to cause the camera to move half way towards the object over a full rotation.

But you also need to scale Y, so right click X Scale, select Copy Driver, right click Y Scale and select Paste Driver.

Now, as you scroll evaluation time, the camera will both orbit and approach.

  • $\begingroup$ This is fantastic, thank you! $\endgroup$
    – h_sharp327
    Commented Sep 19, 2021 at 23:14
  • $\begingroup$ you're welcome. I think drivers are a highly underutilized facility in blender. $\endgroup$ Commented Sep 19, 2021 at 23:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .