Frozen Lake Material Breakdown

Tutorial / 14 May 2022

Hi Everyone I'll give a quick introduction for anyone who doesn't know me. My name is Abderrezak Bouhedda I'm working as AAA Material & Shader Artist at Stellar Entertainment Software. Selling Substance tutorials & tools since 2018 in Gumroad. 

You can take a look at my works here:

I did post the Frozen Lake material on my Portfolio & many people asked for a breakdown, so let's dive into the Icy craft :)) 

First step

First of all, before you do anything or even start the Substance  .exe You need to collect some references on what you're willing to create, Information & Shape reading is ultimately important stage when it comes to creating any kind of work, props, environments, characters, materials. You can't make food without a recipe right? References are the recipe of your craft, so here's an example. 

 I didn't just collect random references, Most important thing you need in references is a reference from an angle that shows how reflection/roughness/specular is being affected by  the light, one or more references that show how big/small is that material, scale wise it varies and we can deal with that in SD but a scale reference helps a lot especially in-production. 

You read the shapes and imagine them basic without warping, like a simple sketch or you can draw over them straight lines so you could have an idea which nodes to use first. Otherwise you'll get used to it and be able to read shapes easily from refs and determine which nodes to use first, It's pretty clear here that they look like cracks with long nearly-straight lines on top of the cracks. 

Creating The Initial Shapes 

A quick start/sketch with the Cracks generator that I did create before, you can create your own or just use cells, mask few of the bigger cells and put more cells on them. We can use the potential of Flood Fill nodes, to give our cells random value variations, gradients, which are the resources we need later for the colour maps, details and more. 

Here's a quick look at the Scratches Generator Node (comes with Substance Designer)

 Create the scratches and put them aside for use later, we'll blend them with the cracks later. 

After that, the cracks can be done with any crack nodes, either you create your own cracks or grab one of the free crack generators which there's plenty out there in Substance Share or anywhere in the internet. I preferred to create mine and set outputs that I usually need. 

Output for Cracks with damage on the edges, one for flood fill crack cells, one for edges without damage.

After warping the cracks using Multi Directional Warp Node, mode Average, 2 directions with Clouds 2. We proceed to blend using Screen Mode, both cracks & scratches into one map. 

Deep Frost Creation

As the graph is a little bit big, with many details, I'll cover the most important things so the article isn't boring to read & learn from. The depth is going to be used later as a translucency map, in the colour map, as a separate map to use later maybe for UE's bump offset or parallax offset for shader purposes depending on your needs. 

The blended previous result we run it into Multi Directional Warp node again, with Clouds 2 for the sake of intersecting crack edges

After that we create two Non Uniform Blur nodes (in deep frost frames), as the settings shown. The second one is just different from the first one by the Angle.

The Non Uniform Directional Warp node, middle one. Is used for depth colour later. It takes input from the previous Multi Directional Warp 

After that, we blend both Deep Frost results (non uniform blur nodes) with Screen mode opacity  1. 

Here I'll just put a Video/GIF of the next process which is very simple, taking the previous results, making variations of them, one with slope blur, one blurred, one blended with a noise map, then we keep blending result by the previous (SCREEN BLENDING MODE). We can also use crack edges from the Initial shapes, blend them with a Perlin noise to add variations to the edges instead of blending them later as a uniform edge with same values. 

Colour Map & Details

The previous stuff we did, run it into a gradient map with 4 colours, the reason I did this is I keep this gradient, and any change I need to do I'll work backwards, means I go back to previous nodes and add/reduce values of cracks, add details to the blend nodes. The brighter the value the more it shifts to white, the darker the more it shifts to dark blue. 

Now we have the large values of the colour map, we need to add the micro & mid details to pop out the realism.

Before we do that let's have a quick look on how I did create the details for the normal map & height. So basically we have this to start from (gradient flood fill with no edges) 

which is you can create like this (a bonus tip)

I'm gonna demonstrate the detailing phase on the normal map how it changes, nothing fancy here, just blending the scratches, dirt node 1, grunge map 4, the crack edges from the multi directional warp until we get a final satisfying detailed normal/height map, that doesn't mean you'll directly make it, just add stuff that you see it works similarly to the reference.

 Now the exciting part, detailing the colour map we start by creating a map which is very similar to the curvature map, but darker values will give us more dirt/dust or white values which means this map will be used into the Ambient Occlusion input of the Dirt node. By then, the scratches, dents, spots, damaged areas will have a white ice look. 

We start by Normal map, grab the two Curvature nodes (Curvature smooth, Curvature Sobel) blend them together using Add Sub mode, opacity 0.13 or the value that gives lower contrast look which works like sharpening the curvature smooth by the curvature sobel

Here we have a detail map for our colour map, the dirt node result will be used to colour the Albedo later

Then sprinkle some spots on top using clouds 1 (selecting only few brighter values in the histogram) then run it into a gradient, the gradient will be blended with the colour map with a mask to apply the details

No fancy things in this step here, just the previous main gradient, blend with a dark blue colour, then blending the details with a mask (I added cracks to the mask a little bit, to get more brightness & fade in the cracks) and TADAA, now just some polishing, adding some depth & fake frost to the colour map, we can separate those later if we need to use them on different shades as well. 

Last thing is blending the inner frost which is a bunch of warps & cells blending but the general idea of it is you can use the previous non uniform blur results and blend them with noise maps, mask them by some cells from the flood fill etc... which is the mask here 

Then if you'd like to do some colour corrections as well, use HSL node, levels or any thing that helps you correct the overall colour map. 

Roughness Map & Translucency 

Basically here it's the dirt node map, with histogram correction to clamp or set minimum limits of the darker/gloss values to not make it 100% glossy just about 88% glossy instead. Added some damage spots to make the damage spots rough. 

The translucency is pretty simple, I did desaturate the colour map, then levels to select only the brighter & mid bright areas.  

Here's a good example of using the translucency map in Marmoset Toolbag, using just a single point light, it makes the light spread on the cracks & deep frost spots. 

Final Results

Sorry I didn't explain everything in detail cause I missed some stuff which takes more than paragraphs to explain, so I'll left you the graph here if you're interested in buying it for more experiments.

Make sure to follow me on ArtStation for more stuff, the ones I did post before and the new stuff I'll be posting in the future. 

I hope you all like this breakdown and find it useful, If you have any questions I'll be more than happy to help! Just leave me a message on my ArtStation or Email. Have a wonderful day <3 

More Renders here: