- Store custom vertex weight animation in a shader.
- Create custom rain volume with low drop count.
- Track particle location and store collisions.
- Create custom dynamic decal with stored animation for running rain drops over a surface.
- On the event of a raindrop collision, kill the particle, use velocity to track direction, create local (world mask), and spawn dynamic decal.
- Make sure the custom volume blends into your high definition rain volumes which surround the tree but have no collision properties.
End Result - Rain falls and hits leaf, leaf sinks due to weight of rain (causes the leaf to sway in a down direction). At the same time of the collision, a small splash occurs and the rest of the water runs down the leaf’s body like a raindrop on a window, or other “slick” surface.
Of course, this is a bit harder to implement than just “saying how to do it”. But it is possible. Although, you would need to make sure it only happened when right next to it (for performance reasons).