Concrete Material | Substance Designer

This video shows how to create a concrete material using Substance Designer. You will learn how to procedurally generate a concrete material within Substance Designer.

Basic Template

Begin with a new project and use the Metallic-Roughness template

Give your graph a name and set your texture size

Use the Space Bar to add a base material node

Under the instance parameters, change the material preset to dielectric (which essentially means non-metal)

Under the user defined maps section, activate normal, AO, and height maps

Add a normal map node and plug it into the normal input of the base material

Under the specific parameters, you can use either OpenGL or DirectX for the normal format – I use OpenGL because it is compatible across more platforms (both operating systems and game engines)

Add a histogram range node and connect it to the height input of the base material

Since the ambient occlusion is determined by the height map, plug the histogram range node into the AO input of the base material

Select this new connection and add an ambient occlusion (HBAO) node

You can delete the nodes connected to the output nodes

Right-click on the base material and choose view in 3D view

Concrete Base

For the base concrete, add a fractal sum base and connect it to the normal and histogram range nodes

Under the instance parameters, make changes to the roughness and global opacity

You can also change the min level and max level

Add a warp node and connect the fractal sum base to the input

Under the specific parameters, you can change the intensity

Add a clouds 3 node and connect it to the gradient input

Under the instance parameters, change the scale and disorder

Select these three nodes, right-click and add a frame – naming it appropriately

Second Layer

For the second layer, add a grunge texture

Under the instance parameters, change the balance and contrast

Add a warp node and connect the grunge map to the input

Under the specific parameters, increase the intensity

Add a Perlin noise and connect it to the gradient input

Under the instance parameters, decrease the scale

Adjust the intensity of the warp

Add a blend node and connect the warp node to the foreground

Connect the warp node from the base concrete to the background

Under the specific parameters, change the blending mode to soft light and lower the opacity

Connect the blend to the normal and histogram range nodes

Select these three nodes, right-click and add a frame – naming it appropriately

Third Layer

For the third layer, add a Perlin noise and decrease the scale

Add a levels node to the Perlin noise

Under the specific parameters, move the black color stop to darken the Perlin noise

Add a sharpen node to the levels

Add a blend node and connect the sharpen node to the foreground

Connect the first blend node to the background

Under the specific parameters, change the blending mode to linear dodge

Connect the blend to the normal and histogram range nodes

Select these three nodes, right-click and add a frame – naming it appropriately

Fourth Layer

Add a grunge map to start the fourth layer

Since this should be a lighter color, under the instance parameters, increase the balance

Add a transformation 2D node to the grunge map

Under the specific parameters, multiply the grunge map by 2 – this will increase the scale of the grunge map

Add a sharpen node and under the specific parameters, increase the intensity

Add a blend node and connect the sharpen node to the foreground

Connect the second blend node to the background

Under the specific parameters, change the blending mode to subtract

Connect the blend to the normal and histogram range nodes

Select these three nodes, right-click and add a frame – naming it appropriately

Cracks

For the cracks, add a cells 2 node and under the instance parameters, decrease the scale

Also decrease the edge width to a very low number

Add a directional warp node and connect the cells 2 node

Add a clouds 1 node and connect it to the intensity of the directional warp

Under the specific parameters of the directional warp, you can change the intensity and warp angle

To add some more interest to the cells, add a warp node and connect the directional warp node [top]

Add a gaussian noise and connect it to the gradient input of the warp node

Double-click the warp node and single-click the gaussian noise

Under the instance parameters, decrease the scale of the gaussian noise

To add some smaller details, add a transformation 2D node

Connect the cells 2 node to the transformation 2D node

Select the transformation 2D node and under the specific parameters, under the stretch option, divide by 2 – this will shrink the texture

Duplicate the directional warp and connect the transformation 2D node to the input

Add a blend node and connect the duplicated directional warp to the foreground and the warp node to the background

With the blend node selected, under the specific parameters, change the blending mode to multiply

To better blend the small details, decrease the opacity of the blend

Add a levels node to the blend node

Under the specific parameters, change the black output to fade the black and white of the details

Add a blend node and connect the levels node to the foreground

Connect the third blend node to the background

Under the specific parameters, change the blending mode to multiply

Select these nodes, right-click and add a frame – naming it appropriately

Texture Outputs

Now that you have the basic geometry set, you can start using the texture outputs

Delete the base material node

Connect the normal node to the normal output

Connect the histogram range to the height output

Connect the ambient occlusion node to the AO output

With the ambient occlusion node selected, under the instance parameters, change the GPU optimization to true

Base Color

Add a uniform color node to the base color output

Under the specific parameters you can change the output color [

Roughness

To change the roughness map, add a curvature smooth node and connect the normal node to it

Connect the curvature smooth node to the roughness output

Under the instance parameters, if you are using OpenGL, you will need to change the normal format

Metallic

We will not be using the metallic map so you can just delete it

Exporting

In order to export this material, select the Output nodes

Under the Tools menu, select Export Outputs

This will make the material available for use in external programs

If you want to use this material in Substance Painter, select the Package and click on the Publish button

From here, you have the option to Publish the file – this will give you a prompt to save the file

You can then drag the file into your shelf in Substance Painter

You also have the option to send the material directly to Substance Painter

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.