Dima Aminev shared the workflow behind the procedural fishing nets material and showed the details added to make it look realistic.
Material and environment artist Dima Aminev told us about the working process behind the procedural fishing nets material.
I started my path as a 3D Artist because, like many of you, I was really inspired by games I played a lot when I was young (Baldur’s Gate, Diablo, Dark Souls, etc.) Now nature is the best inspiration for me, I really love to observe the micro and macro processes that make beautiful and mysterious forms of nature. The infinite incomprehensibility of nature makes it an inexhaustible source of inspiration for me.
I started to learn procedural ways of 3D art creation because I really love natural fractal patterns. Personally for me, at its core, everything that we visualize in nature is a complex of simple fractal systems that influence each other and form the shape of the world we observe. It doesn't really matter what we're talking about – mountains, oceans, animals, human anatomy – the fractal basis is everywhere.
With this information in mind, having already worked in the industry for some time as a non-procedural artist (ZBrush, Maya, Substance 3D Painter), I started to look for software that could help put this knowledge into practice. This is how I discovered Houdini for the first time and got to know the nodes and how they work basically.
Having studied this powerful tool to a certain required level, I began to look closely at Substance 3D Designer. For me, this is a really nicely designed software, thanks to Allegorithmic. You can make a lot of stuff just using basic nodes and everything is non-destructive, which means you can experiment with replacing nodes, swapping them, and changing parameters and connection sequences. But don’t get me wrong, it still doesn’t have some basic stuff that artists really need, such as erosion nodes. We really need more natural fractal pattern generators.
To understand this topic a bit more, you can check Andrei Zelenco's ArtStation page. Yes, it's much harder to work procedurally when you don’t have basic user-friendly nodes, that’s why most people in the industry avoid this method.
I'm at the beginning of the journey and just started to learn procedural ways about 1.5 years ago. Summing up and relying on my experience in the industry, I can say that before studying any software, first determine for yourself the task that you want to solve and the result that you want to achieve, what exactly you are interested in; listen to yourself and determine what you like. It may be enough for you to use slightly simpler but powerful tools such as Blender, Quixel Mixer, etc. Software is just a tool in your hands. The procedural path is not for everyone and requires much more time and effort than learning the main ways.
Procedural Fishing Nets Material
Several artists asked me to show the process of creating a height map for the procedural fishing nets material. I am very grateful for your interest and support. I will be happy to share general information that will help you implement your ideas procedurally. To understand what happens next, it is better to have a basic experience in Substance 3D Designer, most of the techniques I used here are pretty basic but often not obvious.
The first thing I do is find some cool references I like on the internet and add them to my PureRef. I have references where you can see the entire net, there are also those where you can see the cells that make up the nets, knots, etc., as well as those where you can see the micro details of the rope, weaving, damage, and dirt.
After that, I find the largest element that repeats and forms the main object, for the fishing nets it is a cross cell with a node in the сеnter. The full graph for the height map looks like this:
Part 1: Basic shapes
I’m starting by making a basic shape:
And two different types of weave:
After that, I’m blending the basic rope shape with two types of weave separately.
Now we have two ropes. After that, I’m making a smaller weave and a cross-section and blending both together:
Then, I’m adding a “gravity deform” effect to our shape using the Directional Warp node.
I’m using the same simple technique for knots as for the rope and blending out different shapes into the base of the nets.
Some of the cross-sections don’t have knots, so I’m using a second tile sampler to add it.
After, I’m blending Tile Sampler's results and transforming them to achieve the reference look.
From this point, I’m adding details. We will not find some of them on real fishing nets references, but we can use references with some old ropes or other fabrics. For smaller threads, I’m using a basic scratch generator, blur as a deformation map for the threads, and Threshold with Warp as a mask.
After that, I’m using Edge Detect and Flood Fill to select some sections and remove them (you can use the default Flood Fill to Random Grayscale node.)
Then, I’m hiding the centers of the knots because I don’t want to add the next effect to them.
Now, I’m using a simple technique to make two different types of untied threads and blending them with the main nets.
Here, I’m adding some more separated threads.
After that, I’m making a really small imperfection for the whole net.
Then, I’m just deforming it to make some more interesting shapes and breathe more life into it. The height map is ready.
For the color, I’m taking a Gradient Map node and swiping through references with a Pick tool correcting it using the HSL node. For the alpha, I’m taking the final height map and connecting it to the Histogram Scan node playing with parameters until I achieve something that looks cool.
For the final renders, I’m using Marmoset Toolbag; you can see some tips on my ArtStation page.
I also want to share some of my collections that can teach you something: