I am trying to procedurally generated surface bubbles on coffee. I know that you can use a UV map to do this, but I'd like to have more control. There is a nice demo of doing this with animation is 3ds Max, but I haven't worked out a way to do it in Blender.


I have tried using metaballs, but without much success. Here is the look I'd like simulate.

enter image description here

  • $\begingroup$ Maybe some ideas - blender.stackexchange.com/questions/52834/…. It looks like more complicated here though as bubbles should be formed with 2 surfaces, water and wall. $\endgroup$
    – Mr Zak
    Commented Jul 23, 2016 at 19:17
  • $\begingroup$ I did see that and tried playing with the metaballs. Just couldn't get very useful results. Also tried this Metaballs as Dew Drops tutorial from Sardi Pax. youtube.com/watch?v=5If5IFVK1cU $\endgroup$ Commented Jul 23, 2016 at 20:13
  • $\begingroup$ UV map + particle system + metaballs will work $\endgroup$
    – eromod
    Commented Jul 24, 2016 at 4:10
  • $\begingroup$ Thanks eromod. I do know that a UV map will work, it is what I am using now. Metaballs and the particle system will work too. I even mentioned UV and Metaballs in the question and included links. I just don't have the skills yet to get the results I'd like and am looking for some useful guidance. $\endgroup$ Commented Jul 24, 2016 at 14:43

2 Answers 2


The new microdisplacment feature can help with that. Here is a simple node setup as a proof of concept: node setup render result

After duplicating this effect a couple of time you can obtain that:

enter image description here

  • $\begingroup$ nice idea! +1 well deserved. $\endgroup$
    – aliasguru
    Commented Oct 9, 2016 at 15:38
  • 4
    $\begingroup$ would be nice to get a bit more insight on how to 'duplicate the effect a couple of times', and also to mention in detail how to use the microdisplacement (set to experimental, add a subsurf, tweak it, and set displacement to 'True' in the material) $\endgroup$
    – aliasguru
    Commented Oct 9, 2016 at 15:44
  • $\begingroup$ Thanks Vanitat. That looks very good. I will give it a try. $\endgroup$ Commented Oct 11, 2016 at 0:15
  • $\begingroup$ how did you make the smaller bubbles on the second image be only around the bigger one's? $\endgroup$
    – Lucas Leme
    Commented Oct 5, 2017 at 3:38
  • 1
    $\begingroup$ Since the original respondent doesn't seem to be present here anymore and refused to give more information on how to achieve the result in the bottom picture: can anybody explain how to do this? Because when I try to recreate the shown node setup with recent Blender versions I hardly get close to the result on top - and I have no idea how to "duplicate this effect a couple of times" to come to the bottom result. @DanaWilliams Have you ever reached this effect? $\endgroup$ Commented May 11, 2021 at 9:17

Since people have been asking how to blend the nodes together like in the example above here is one way to do it.

Node group

Make the white part of the color ramp darker grey depending on the scale of the bubbles (voronoi) to adjust their height then blend them with a color mix set to lighten.

The second color ramp from the original example controls how many (or how dense) you want the bubbles to be.


To get a flat area your best bet is to add a white image texture and mix it in with a color mix set to darken, then go into texture paint and use a black brush to paint out the bubbles you don't want. Obviously the more effort you put into this step the better it will look. I was sloppy here but you can see it works pretty well.

enter image description here


You must log in to answer this question.

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