Wave modifier - needs to run in one direction and back to starting point. Possible?

Hi there,

I am a beginner, wondering if anyone can help me out with this.

I am trying to animate a wave along the Y axis of a plane using the wave modifier. I have set an empty as the starting position on one end and have created a single wave (cyclic turned off, obviously) that gets to the other end. I need the wave to return back along the plane to its starting position. That needs to repeat throughout the animation.

Is this possible to achieve with the wave modifier? I thought I could get the wave to follow the location of an empty but that doesn’t seem to be the case. Is there a more efficient way of doing this? I’ve started experimenting with a displacement modifier instead, using the empty as the texture co-ordinate. Is this perhaps a better approach?

If you want to repeat the animation rendered backwards, you can do it in Video Sequence editor, duplicate a scene or sequence strip and reverse its playback.

But if you want wave to go backwards in viewport, you don’t have to repeat animation.
You can simply inverse direction of wave by giving to it a negative speed.
A speed of zero means that wave has gone back to its start position.
So, you just have to set a keyframe on speed setting at beginning of animation.
At end of animation set speed setting at Zero and add another keyframe.

If you judge that wave is not fast enough, you can set a negative speed for last keyframe.
But you will probably have to animate start position, too.

There are mutiple ways of controlling values of modifier

You can set speed to 0 and animate that empty


or
animate modifier values

or
animate modifier values by driving them from other objects

or
animate modifier values by math expressions eg. by typin #sin(frame) into input field you will get sin(frame) driver

Thank you so much for helping out with this, I am blown away by your response. As a beginner, I’ve been battling through simple concepts like this and it’s wonderful to know that a community like this exists :slight_smile:

Thank you! Negative speed was not even on my radar but makes perfect sense.

Just a couple things to note if anyone else runs into this challenge:

  1. If you want to negate the “Speed”, you’ll may also need to negate any non-zero values in the “Offset” field.
  2. If you’re super nerdy :nerd_face:, here’s the formula for reversing the wave without negating the speed:
    Rev Speed = (Width × 2) - (Fwd Speed % (Width × 2))

    (Note: The “%” sign indicates the modulo operation.)

Also note that if your reversal animation lasts only a single keyframe, you may need to arrange the keyframes in the Dope Sheet (or likewise animate the “Offset”) to make sure it reverses at the right spot along the wave function. Hope thie helps any passersby! Peace and God bless!