Ripple Shader

Ripple Shader

We need a radial texture to create this effect.

Radial Texture

Create a ‘Time’ node and assign it to a ‘Fraction’ node. This ‘Fraction’ node will output only the fractional part of the input value, i.e. range 0 to 1. Then subtract it with -1 to translate it to the range -1 to 0. Now add the resulting output to the sampled radial texture.

We are subtracting the radial texture with values ranging from -1 to 0 every second. This makes the radial texture grow from small to big every second.

Now what we need is successive white and black circles. To achieve this we just need to multiply the current output with PI (use the ‘Constant’ node) and then do a sine operation with it. Before that, I will multiply by 5 to get more number of circular rings and also clamp it between 0 to 5.

Finally, assign the resulting output to the ‘Base Color’ input of the Fragment shader.