Creating a water shader in Blender is not easy, but this article will help you not only create a simple water shader with depth but also animate it procedurally, meaning you can fully customize the shader.
Making the Water Shader in Blender Step by Step
Step #1 (Base Setup)
Open Blender and don’t delete the default cube; it can be used for the water shader.
Scale the cube on x and y axes by pressing s and then pressing Shift+z.
Drag a new window and open the shader editor. You can press Shift + F3 four times while hovering over the tab to open it, or you can manually select it.
Create a new material and name it water or anything you like that is related to it.
Step #2 (Basic Settings)
The water is transparent and reflective, so you have to first reduce the roughness to zero.
Change the Principled BSDF roughness to zero.
This will give a glassy result. To achieve transparency, open the transmission tab under the specular tab and increase the transmission weight value to its maximum, which is 1.
You will get something that will look like water, yet it still lacks a lot of things.
Step #3 (Details)
Water is not flat most of the time, so you have to add some details. You will need 3 nodes for that. Add a bump node, a noise node, and a color ramp node.
Connect the noise to the color ramp, and connect the color ramp to the height of the bump node. Connect the bump node into the normal socket and reduce the bump strength to 0.1.
Play with the noise scale and color ramp until you get something you like.
These are the settings that give good results, but it is necessary that you still play with the noise scale and check what suits your scene.
The noise scale determines how big or small the waves will be, the color ramp decides how sharp the waves will be, high black value will give more sharp waves, the bump strength determines how much bump will be in the waves, a small value like 0.1 gives smooth bump.
Step #4 (Add depth)
Now that the water has details, you will need to add some depth. You can simply do that with the principled volume shader. Simply add a principled volume shader.
Plug the principled volume shader into the volume socket.
These settings work the best:
- Set the density to 1.00 to 0.80
- Set the anisotropy to 0.8
- You can change the color to something like green, Hex code #00FFB0FF
Step #5 (Optimization)
Before animating, the water shader will be very heavy to render out, you have to optimize it for best results. To optimize it, add a transparent node, a lightpath node and a mix shader node.
Mix the principled BSDF shader node and the transparent shader node with the mix shader node. Make sure to connect the transparent shader node in the second shader socket so that it works correctly.
Connect the light path node “Is Shadow Ray” into the factor of the mix shader node.
What this will do is use the principled BSDF shader to show the water and use the transparent node to calculate how light will react or pass the mesh.
This will decrease the render time and let the light pass through the mesh easily. This method works for all shaders that are transparent, such as glass.
Step #6 (Animation)
Now, animation is necessary, and you can animate water in two ways: the first is by using the W value, which will randomize the water ripples, and the second is to animate the location of the ripples, which will give a result similar to a river.
So first of all, you will need to change the noise texture from 3d to 4d, what this will do is that it will allow you to randomize the ripples with the W value.
You can simply keyframe this W value by pressing I and then moving to the final frame of your animation and pressing I again on the W value.
The first issue that you will face is the animation will start slow in the beginning and get fast in the middle, this is due to the keyframes which are set to bezier, you can fix it by pressing T on your keyboard while the keyframes are selected and your mouse is in the timeline, select linear and you are good to go.
You can play with the keyframes until you like something.
You can also make something like a river; just add a mapping and texture coordinate node, keyframe the x or y axis like you did with the W value, and you are good to go.
Check out Extra3D's tutorial to learn more about how to create water shader in Blender:
Conclusion
By reading this article, we hope you can get inspired, and now, why not start working on your own Blender water shader to see how much you've grasped? By the way, if you encounter rendering issues when using Blender, such as rendering too slowly or crashing when rendering, try a Blender render farm to speed up your rendering for your urgent projects. Fox Renderfarm, as an experienced Blender cloud rendering service provider, stands out in the CG market. Boost your rendering, and don't hesitate to obtain the free $25 render coupon now!