When using warp modifier, is there a way to keep the warping speed constant?


You can see below what effect I’m achieving using the warp modifier:


What’s essentially being done here is the radius of the warp modifier is keyframed to gradually increase. You can check it in the .blend file:

What’s also important to mention is that there’s a custom falloff curve used in the warp modifier, and the increase of the radius isn’t completely linear/constant either. That is so I can control how much of the mesh is being warped to the destination over time.


What I’d also like to happen, is for all of the vertices to have a constant speed during the warping process, which is currently not the case. It seems like it starts off at a certain speed, and gradually slows down as the radius increases.

The problem, as far as I can tell, seems to be that as the radius of the warp modifier gets bigger, it’s influence on the mesh becomes weaker. But I’m not sure if that’s the case.

But what I can tell for sure is that how quickly the radius increases, directly influences how fast the vertices move from A to B. Which is not what I want. I simply want to control how much of the mesh is being warped, not how fast .

Idea I had:

So, I’m not sure if the warp modifier is the best to use in this case, but I’m really not sure what else to use to get this result. One idea I had however, is to take the original mesh, and and scale it proportionally, to get an object like so:


Then I can animate it’s location to get a constant speed, and somehow flatten it back out when it “hits” the destination object, but I’m not sure if that’s even possible. Plus it would remove a lot of the parameters that I could control, so I don’t know.

So, if you know a solution to this, please let me know!


(note: this has been copied over from blender stack exchange where I originally asked this question)

If you want a constant velocity from a single transformation, you can’t animate the radius. That’s all there is to it. A constant velocity, starting at different times as it would with an animated radius, requires multiple transformations. (Multiple modifiers or whatever.)

If your proportional editing thing does what you want, and your only problem is how to flatten it out, you could consider animating shapekey 0->1, followed by animating it 1->0 and moving the object, both with linear interpolation. Shapekeys are just translation, and so undoing the shapekey at the same time that you translate the whole thing, will flatten it out with however you set your interpolation for those f-curves.

Another option here is an armature. You can paint a linear gradient, centered on the midline, and then normalize the weights of a second bone around that. Then you move one bone to stretch it out (with whatever interpolation mode is set for that bone) and another bone to unstretch it (again, with whatever interpolation mode you want.)