Water Shader

by mart0nnn in Surfacing


The usage of the shader should be straight forward, but I will share a few tips and tricks.

Underwater scenes:

If you want to make underwater scenes with caustics then I suggest turning up the volume absorpsion density, and playing around with the smooth slider of the caustics and the caustics strength. This should result with some nice light rays from the caustics.


Geometry node groups:

For the geometry node groups you can use the groups individually on other meshes than the water. You can add the "Bubbles" geometry node group to any mesh.

For example if you want a higher density of bubbles in a certain part of the underwater scene you can add bubbles geo node group to a simple cube and then place it where you want the bubbles to appear.


Rain effect on objects other than the water:

Make sure that all the objects that you want the rain to appear on are in the same collection, and that the rotation and scale are applied for all the objects.


The object that has the raindrop on objects geo node setup is a cube. Here you can select the raindrop object, and the collection of objects that you want the rain to appera on. The "Raindrop surface" slider determines what maximum angle a face has that spawns raindrops. This is to assure that raindrops dont appear on the underside of objects.


Rain mask node group:

You can chain up to two rain nodes together to get more rain splashes.

(After 2 node groups blender does not like me randomizing the vector of the white noise I use in the nodegroup and refuses to compute the bump and displacement.)


Flow map:

For the flow map, make sure that you have the water geometry node group applied to your water object. 

If the flow map is still not working, make sure that the flow attribute output has the same name as the attribute in the flow map node group.


Global Sediment Layer:

This is a small node group that you can connect after your principal BSDF setup. This will allow you to globally control a layer of sediment on all your materials that have this node group.



If you want to edit the colors then you need to select the node and press "tab". This allows you to enter the node group and globally change the colors on all of the materials.


The height of the sediment layer is controlled by the position of an empty in the scene.



Sales 100+
Dev Fund Contributor
Published over 1 year ago
Blender Version 3.4, 3.5
Render Engine Used Cycles
License Royalty Free
Have questions before purchasing?

Contact the Creator with your questions right now.

Login to Message