First, you can get the scene file here.

About the setup:

I wanted a to test out if I can make a bunch of plainly placed particles – that’s why it starts with a plane source – into something resembling foam on surface. If it works with just particles on a plane, it will work even better with splash impacts.

The setup relies on having a few particles as centers of repulsion, repelling the others off them. So, if I can borrow Bobo’s nice natural language transcription style it goes like this:

  • all the particles go into a single group in the begining. They get the UVs of the object underneath them into a memory channel.
  • a portion of the particles gets split off, they form the centers of repulsion. UVs are used to lookup the texture on the source plane, so only the ones in the whiter portions of the texture get split off, to create some diversity.
  • the centers of repulsion force the other ones away, until a distance threshold’s been reached
  • friction and turbulence get applied to them all, with position constrained to the source plane
  • partition to taste and render with Krakatoa

So there it is – simple and it works 🙂 Could be elaborated, of course, to create more fancy shapes if needed.