3
$\begingroup$

I have an animated mesh with the wave modifier. I want the mesh to be frozen in a certain point in time after it animates for a bit with the modifier.

I thought if I keyframed the speed value to 0 it would make the animation stop but it doesn't work like that at all.

Other way I can think of is to apply the modifier, but then I wouldn't have the animated part.

EDIT: I have 500 objects with a shrinkwrap constraint that has the wave mesh as the target. This makes it impossible to use the solution of duplicating the wave mesh and keyframing a switch of the animated to the static geometry (as suggested in the comments) because the target of the shrinkwrap can't be animated.

enter image description here

Thank you!

$\endgroup$
5
  • $\begingroup$ what do you mean by "I wouldn't have the animated part"? $\endgroup$
    – moonboots
    Commented Oct 25, 2018 at 16:05
  • $\begingroup$ @moonboots I meant that if I apply the modifier, the animation I made with the modifier will disappear. $\endgroup$ Commented Oct 25, 2018 at 16:24
  • $\begingroup$ Duplicate the mesh, apply the modifier on the desired frame, then keyframe a switch of the animated and static geometry? $\endgroup$
    – Leander
    Commented Oct 25, 2018 at 16:28
  • $\begingroup$ That could be it if I didn't have 500 objects with a shrinkwrap constraint that has the wave mesh as the target. It would have worked it the target property on the shrinkwrap constraint could be animated. Should I add this info as well to the content of the question? $\endgroup$ Commented Oct 25, 2018 at 16:38
  • 1
    $\begingroup$ I guess so, add it please. $\endgroup$
    – Leander
    Commented Oct 25, 2018 at 16:42

2 Answers 2

4
$\begingroup$

You can freeze the wave by animating the 'Offset' field inversely to the frame advance.

Supposing you have a wave with a positive speed, and at frame 0, it has an Offset of 2. You want to freeze the wave between frame 100 and frame 140.

Then at frame 100, you want an Offset of 2, at frame 101 an Offset of 3, up to frame 140, an Offset of 142. (The offset direction seems topsy-turvy to me, but that's the way it is)

(You could either do this with a driver...)

Or, if there are no interfering variables, keyframe the Offset value to 2 at frame 100, and 142 at frame 140.

Then go to the Graph Editor, hit T on the start and end keyframes, and set the interpolation to 'Linear' to get rid of the easing, which would screw the linear relationship you're looking for.

$\endgroup$
2
  • $\begingroup$ That's exacly what I needed! Thank you so much! $\endgroup$ Commented Oct 26, 2018 at 7:58
  • $\begingroup$ Glad about that.. I don't animate much, If I do, I tend to animate mechanical relationships like this. So in User Preferences I set my default F-curve interpolation to linear in the first place. It saves a few visits to the Graph Editor. $\endgroup$
    – Robin Betts
    Commented Oct 26, 2018 at 8:30
0
$\begingroup$

Here's a way that requires a little math, but it's quite elegant:

Simply use the wave repeat formula:

1/Speed * Width * 2 = Frame When Wave Modifier Repeats

Since we want our Wave Modifier to appear stationary, we simply set the formula so it repeats after a single frame:

1/Speed * Width * 2 = 1 Frame

Rearrange the terms and solve for speed:

Speed = 2 * Width

This super easy formula should halt our wave modifier in its tracks! Just set your Speed to twice your desired Width value!

(Note: The Offset value might also need to be set to a sufficiently low negative number, like -65536.)

enter image description here

Hope this helps any passersby! Peace and God bless!

$\endgroup$

You must log in to answer this question.

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