Workflow: Animating Liquids on the Cheap

Animating liquids in animation exercises

There are some really great props for characters that have liquids in them (man drinking a whisky, tipsy valley girl with a martini, guy in the desert and a bottle of water, etc…). Generally there are two types of solutions.

“Meh: leave it as a solid object”

“Too Expensive to be worthwhile: simulating the liquids”

During production of my short film I had a bottle of liquid very close to camera and decided to come with with a third solution somewhere in the middle.I’ve used this idea in a variety of situations and it’s always held up and worked. Generally it takes a half hour to setup, and with only one controller, it takes very little time to animate (and is a lot of fun!)

[qt: 850 581]


Haha…ok, maybe not quite that good, but it works fairly well! It’s basically a series of blendshapes pumped into your ‘liquid’ geometry, one for each direction and then a fifth that has a wave deformer on it to ‘mess it up’ a bit. A controller with an osipa style setup drives each blendshape and allows for the fifth wave deformer blendshape to be dialed in and out.



  • Add an ‘average’ operation on the liquid geo to smooth it out
  • Use limits on the Liquid CON to keep it within a transx/y quadrant box
  • Connect the five liquid blendshape to the Liquid CON with utility nodes, or be lazy like me and use set driven keys
  • Add the wave deformer to the fifth blendshape, but only on the top layer of vertices.

Technical Stills

Me piping in the 5 blendshapes into the final geo.

Osipa style quadrant controller with limits set in the attribute editor.
It’s been hooked up to dial the blendshapes in and out as it moves to each quadrant.

I’ve hooked in the fifth blendshape to a custom attribute. This blendshape has a cycling wave deformer on it.

I’ve selected the top verts of this blendshape and applied a wave deformer. I can now dial in and out wave animation.


Technical Stills

…and an example of it being used in an actual scene.

[qt: 850 637]