Unreal Engine 4.13 finally added ability to write to render targets from blueprints! Thus we could at last add droplet simulation to the existing water droplet material.

Simulation is happening in the blueprint, containing plenty of options. On the top level it (optionally) takes static droplets texture on input (e.g. one of the textures which existed in the library from the beginning) and write to the render target, which is itself used in the material instance. Great thing in the system is that the material and material instance haven’t been changed! From material instance point of view it’s just yet another texture object! Below you can see most of the blueprint options
simulator_detailsOn the lower level simulator keeps track of the set of droplet objects (there are several droplet types), updates them on tick and then renders them into render texture. The simulation itself is done in lockstep (specified in the options, default is 60hz).

You can control whether spawn is enabled, spawn rate, size of the droplets and so on. Some random factors are applied to the droplets to make it look natural. These factors are also tunable in the simulator options.

Enjoy the rain! See video below for the demonstration.