First, I start creating the basic brick shape I need, in a separated graph, with exposed parameters. So, I’m able to easily drag and drop the node in the main graph and change the shape of any brick I want, without the mess of having a lot of nodes on screen.
To vary each brick even more, I start with a gradient that I use to create a sharp cut on the surface. All blended with a beveled shape that ends in the last blend, controlled by a “movable” gradient to choose where I want a change in height.
I use the same nodes, with different values, to create a wide variety of bricks to create the pattern in the Tile Sampler Grayscale.
To create the ID Map, I copy the Tile Sampler Grayscale and the only thing I change is the Color Random value, then I blend it with the original Tile Sampler Grayscale using the Divide blending mode and Auto Levels, to have all the grayscale I need.
Now I can create the Height Map. To start breaking the edges I use the Edge Detect and other nodes to create a mask for the edges and with a Slope Blur Grayscale (with a Perlin Noise) I break those edges, all blended to the original pattern. At the end I use a Splatter Circular to create various dots that are used to create imperfections all over the surface. All blended together to end up with the Height Map.
To create the Normal Map, I use the Height Map put into a Normal node, blended with the ID_Map and a Slope Blur Color to reduce the intensity on specific areas. On the bottom part I give a “painterly” look to the Normal, blended at the end to choose how much “painterly” I want it to be.
The Ambient Occlusion Map is the simplest one, nothing fancy.
Before moving into color, I decided to create my Brush. It is blended to a white color because I need the Alpha. Also, the Blend is set to Straight Alpha Blending.
I had to create this simple Normal Map because I needed a Vector Map later, to allow the Tile Sampler Color to work properly.
First color pass. I created a grayscale and then with a Directional Warp and a Gradient I created the base color.
Here I started scattering my Brush shape all over the surface with the two Tile Sampler Color and different values. Then I blended those two together with a low opacity. With the Slope Blur Color, I create imperfections along the edges of my brush. Then I increase the sharpness with a Sharpen. A Directional Warp is needed to move all the brush strokes on each brick and erase repetitiveness.
Here I create a Grunge Mask to use later with my color.
Here I start using the Grunge Mask created previously and then you can see how I approach creating various masks for color variations such as the light from below and above or the isolation of the edges.
Before finishing my color pass, I wanted to create a mask that allows me to have big portions of my surface with a different hue.
I used the Hue Variation Mask to give that extra touch to my color and, I created the mortar and a final subtle change to the overall mood.
Last, but not least, I created the roughness by converting the color to a grayscale and blending it with various levels and masks.
The final textures.