As far as I know, bones can't do this and you need to go vertex by vertex to do it via shape keys.

Basically I'm trying to animate a wave. Where from left to right a wave of vertices would change Z location depending on time. It's really simple so me writing about it would be over thinking it.

1) enter image description here

2) enter image description here

  1. etc.. wave moves to the end.

I did this by manually moving the vertices from point to point on the Z. I'm not looking to automate this, I just want to know, how do I make this animation into a trigger so I can animate like a bone or a shapekey?


1 Answer 1


Crude wave animation

I suggest using a material displacement node. The plane is UV mapped to the full UV space, so the top Mapping Node location of [0.5. 0.5, 0] moves the Wave Node's center to the middle of the plane. The effect is animated using the Phase Offset input. Like all good phase offsets, its range is $ [ 0:2\pi ) $. The Phase Offset can be controlled directly with key frame animation, it can be set up with a driver, or many other methods. In this case, I decided to make the phase depend on the X location of a control object. I used another Texture Coordinate node pointed at the controller object to get the object's location and then ran that through a Mapping Node set to scale the X location by $-2\pi$ or -6.283 so the controller object only needs to move between $ [0:1] $ to get a full deflection.

For the animation I applied this texture setup to the Displacement Node of the material, and then applied the material to a moderately high poly circular plane.

Node Setup for waves

  • $\begingroup$ Interested Ron, thanks for your help. You don't need to make it in 3d. Just the 2d lines are fine, it's much simpler that way. how does a displacement help here though? Isn't it static black and white map? It wouldn't animate.. $\endgroup$
    – Jimmy Lin
    Sep 18, 2021 at 6:14
  • 1
    $\begingroup$ I used the Wave Texture and animated the phase input from 0 to -2pi and plugged that into a displacement node (Cycles). The little ball that appears briefly in the shot is the phase controller, I tied its X position into the material. $\endgroup$
    – Ron Jensen
    Sep 18, 2021 at 6:50
  • $\begingroup$ Can you screen shot your node set up? So what I'm gathering is there is no built in function that does this in blender.. We need to resort to tricks to do these types of animations? $\endgroup$
    – Jimmy Lin
    Sep 18, 2021 at 7:02
  • $\begingroup$ @JimmyLin I don't know if I would say I had to "resort to tricks" here. Using controller objects like this is a common and well accepted practice in production character animation. As the modeler/shader, providing a control like this means the animator doesn't need to dig deep into a material node to find the control, they merely look in the Controller collection for the appropriately named object. I could have used a Driver but many people consider them to be Majick. $\endgroup$
    – Ron Jensen
    Sep 18, 2021 at 15:42

You must log in to answer this question.

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