3

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.

Peter Mortensen
  • 681
  • 4
  • 11
user2824371
  • 796
  • 1
  • 7
  • 27
  • 3
    This Q&A looks suspiciously like a promotion for a tutorial video ;) – Robin Betts Aug 21 '21 at 10:15
  • interesting, too bad this is a robot voice – moonboots Aug 21 '21 at 10:38
  • @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? – user2824371 Aug 21 '21 at 12:34
  • @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. – Robin Betts Aug 21 '21 at 13:40
  • 1
    Brave Sir @RobinBetts one difference is the animation stops at the fcurve modifier. eg there's AFAIK, no animating modifier settings. – batFINGER Aug 21 '21 at 15:55
  • The question lacks details where it's not even clear what the problem is-- why not parent to empty for a perfect circle? The answer that's presumably the promotional self-answer lacks details (assuming you don't watch the video, which I didn't, then what modifiers?) This is part of the problem with asking a question just to answer it yourself: you know what you want to answer, you know what you're asking, but you end up with a Q/A useful only to yourself, and that's useless because you already knew. – Nathan Aug 22 '21 at 14:27
  • @Nathan You cannot make a perfect circle by just parenting because the circle curve is not perfect. I think it has 32 vertices by default. If you zoom in, you can see its sides which makes it not perfect. To get around this, you have to increase the number of vertices to be very high. Also, for the elliptical shape, it is easier to set the two diameters of any ellipse setting the two amplitudes of the two modifiers. Without having to scale anything. The method of parenting is a little bit harder and less accurate. It's harder because you get the settings in two different places. – user2824371 Aug 23 '21 at 09:37
  • @Nathan The first place is the settings of the follow path constraint where you need to click on the object. The second place is the "path animation" where you need to click on the curve. The graph editor method is related to a single object, so why bother creating an empty? – user2824371 Aug 23 '21 at 09:42
  • @Nathan I respect your opinion that this method is not useful for you. At the same time, I feel like you speak in behalf of people :) Every method has cons and pros. Some people will find it useful, others not. I cannot even say how most people will perceive it. I share my info for whoever finds it useful. Even if they are two people only in this world XD – user2824371 Aug 23 '21 at 09:48

2 Answers2

6

Drivers.

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

Constraints.

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.

batFINGER
  • 84,216
  • 10
  • 108
  • 233
  • Phew! Narrowly missed putting in one of my own, and being run over by the batFINGER tarin of excellence... :D – Robin Betts Aug 21 '21 at 17:37
  • 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. – batFINGER Aug 22 '21 at 13:03
1

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

Gorgious
  • 30,723
  • 2
  • 44
  • 101
user2824371
  • 796
  • 1
  • 7
  • 27
  • "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? – Nathan Aug 22 '21 at 14:28
  • @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. – user2824371 Aug 23 '21 at 09:03
  • Pardon me. There may be some language issues involved. – Nathan Aug 23 '21 at 17:52