How to do anime-style water sparkles? (video provided)

Kingdom Hearts 2 is a good example:


The effect is much more pretty in motion (starting at 1:14):

I would guess this is either animated sprites or sprites that scale up and down over time.
The effect is similar to the toon water waves effect in Wind Waker.

The tricky thing to me is having their position in the body of water dependent on the shading of the water from the sun light. Sure, for a linear game it may be hardcoded by having a mesh to specify the distribution region of the sparkle sprites, but for something more procedural or open world or with day-night cycle it has to be done in a more smart way.

I don’t know if this is a screen-space effect but somehow made sure sprites stay rendered behind everything else in the scene or physically positioned on the body of water but somehow made sure it doesn’t clip throught he water mesh.

How can this effect be achieved, with a scene where the sun position is not fixed?

This is particle system that emit particles from vertices/triangles. To the particles applied shader that calculate specular and apply it as alpha.

1 Like

There are many ways to do that.
But BattleAngelAlita put a good example above.

Sorry but how?
Thanks