I'm looking for an easy method to create a perfect circular or elliptical motion without using "Follow Path" modifier or curves, extra addons, or many keyframes.

  • 3
    $\begingroup$ This Q&A looks suspiciously like a promotion for a tutorial video ;) $\endgroup$ Aug 21 '21 at 10:15
  • $\begingroup$ interesting, too bad this is a robot voice $\endgroup$
    – moonboots
    Aug 21 '21 at 10:38
  • $\begingroup$ @RobinBetts All Q&A in this site are tutorials :) I think the aim is to teach people. What do you think about the idea itself? Did you know it before? $\endgroup$ Aug 21 '21 at 12:34
  • $\begingroup$ @user2824371 Sure, no offence. The Q and A are good.. +1. I'm just in 2 minds about the danger of BSE becoming a promotional platform. So long as the answers on here are complete, it's not got out of hand, I guess. The idea? Interesting... if someone had asked the Q, looking for an A, my first thought would have been sin and cos drivers, and this looks simpler. $\endgroup$ Aug 21 '21 at 13:40
  • 1
    $\begingroup$ Brave Sir @RobinBetts one difference is the animation stops at the fcurve modifier. eg there's AFAIK, no animating modifier settings. $\endgroup$
    – batFINGER
    Aug 21 '21 at 15:55


Another option is using drivers.

Drivers create an animation fcurve. The name frame is the scene current frame.

To the icospere in gif am typing a driver expression into property field. If it's not purple (a driver already starting with a hash # indicates "make this a driver expression".

Most of the usual suspect math methods are available, including sin and cos

In the location x

sin(frame / 24)

and in z

cos(frame / 24)

enter image description here

The smaller icosphere has x location driven by

sin((frame - 8)  / 24) / 2

ie it is delayed by 8 frames and halved in amplitude._

In answer to How to do Trammel Of Archimedes Animation? I mention some other things to consider in expression eg sin(2 * pi * frame / fps) where fps is a driver variable with value of frame rate, this will rotate at 1 rev per second.

Any of phase, amplitude, offset etc can be taken from the value of another property, which itself could be animated.

Trammel Rig.

Added three empties, the first is displayed as a circle, which at default is a unit circle Have chosen to use the $XZ$ plane to match this for demo purposes. As stipulated in question it's not a path, although as in trammel link, do like to use fixed offest alternative

The next two are parented to first (or if you prefer, made children of first) and one given the X driver, the other the Z

The unit circle in local space. Using object scale will change our world space,

enter image description here


the cubes in the GIF have copy location constraints, to get X from X empty and Y from Y empty. Using WORLD space

The parent empty circle displays the maximum path. Non uniformly Scaling the parent empty will make path elliptical

Can also make a cube path elliptical by setting a different constraint influence between X and Y.

Smaller cube has half influence for both, same again on smaller cube.

A fun example is a spriral ellliptical path by animating the growing scale.

  • $\begingroup$ Phew! Narrowly missed putting in one of my own, and being run over by the batFINGER tarin of excellence... :D $\endgroup$ Aug 21 '21 at 17:37
  • $\begingroup$ Like the way the delayed ico follows the cube. Playing around with phase, started getting oscilloscope deja vu. Gotta love the unit circle. Always brings CAST to mind. A Choo Choo Tarin? Phew from me too, Yours would be far better illustrated. $\endgroup$
    – batFINGER
    Aug 22 '21 at 13:03

This method uses only a single keyframe and the graph editor modifiers. It can be done using those 4 easy steps:

  1. If you want your object to orbit around a specific axis, you add the modifiers to the other two axes.

  2. To get a perfect circular motion, both modifiers must have the same values for Amplitude & Phase Multiple.

  3. Both modifiers are the built-in function but one of them has to be sine and the other is cosine.

  4. If the two modifiers have different Amplitude values, this will create an elliptical motion.

For video tutorial: https://youtu.be/lhag5CrSgUw

  • $\begingroup$ "you add the modifiers"-- what modifiers? Not noise, right? Is this an answer that exists solely to direct users to the video, or can it stand alone? $\endgroup$
    – Nathan
    Aug 22 '21 at 14:28
  • $\begingroup$ @Nathan In step 3, I already mentioned that they are built-in function modifiers. One of them is Sine and the other is Cosine. Why would people choose Noise after reading "Built-in" unless they want to play/try? I also mentioned at the beginning of the answer that these are the graph editor modifiers to prevent confusion with the regular modelling modifiers. $\endgroup$ Aug 23 '21 at 9:03
  • $\begingroup$ Pardon me. There may be some language issues involved. $\endgroup$
    – Nathan
    Aug 23 '21 at 17:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.