In this tutorial I will show you how to make your own wood plank material in Substance Designer for your project.
Setup
Begin by making a new Substance Graph using the Metallic-Roughness option
Give the Project a name and set the Texture Map size [_OTS Wood Planks]
Leave the Output Format as Relative to Parent – this makes it easy to change the Size of individual Texture Maps
Use the Spacebar to add a Base Material node
Double-click on the Base Material node to see it in the 2D view
Under the Instance Parameters, change the Material Preset to Dielectric to make sure you don’t end up with a metallic-looking material
Under the User Defined Maps, activate the Normal and Height input
Wood Planks
For the wood planks, use the Spacebar to add a Normal node – connecting it to the Normal input of the Base Material
Use the Spacebar and add a Brick Generator
Connect the Brick Generator to the Normal and to the Height input of the Base Material
Right-click on the Base Material node and select View in 3D View
To be able to view the Height Map, go to Materials > Default > Edit
In the Explorer, you can scale up the Height
Double-click on the Brick Generator to view it in the 2D View
In the Explorer, under the Instance Parameters, change the X-Axis to 1 and the Y-Axis to around 8 – this will give us longer and wider planks
You can also decrease the Bevel amounts on the X- and Y-Axis to remove the harsh bevels of the Brick Generator
Under the Height, change the Min to somewhere around 0.95 to add some variation in the height of the individual planks
You can also make adjustments to the Variation parameter to give you more randomness for the planks
Select the connection between the Brick Generator and the Height input
Use the Spacebar to add a Slope Blur Grayscale node to add some deformation to the planks
Add a Gaussian Noise node and plug it into the Slope of the Slope Blur Grayscale node
Double-click on the Slope Blur Grayscale node to select it
In the Explorer, under the Instance Parameters, increase the Samples and decrease the Intensity
Change the Mode to Min
You can also select the Gaussian Noise node and under the Instance Parameters, decrease the Scale to make the Noise larger
Select the connection between the Gaussian Noise and the Slop Blur Grayscale and add a Directional Warp node – this will randomize the deformation a bit more
Plug the Gaussian Noise into both inputs of the Directional Warp
Select the Directional Warp and under the Specific Parameters, increase the Intensity and adjust the Warp Angle
Box-select these four nodes and use RMB to add a frame – this means you can quickly see what this node combination is controlling
Wood Grain
To add the wood grain, add a Directional Noise 1 node
Add a Directional Warp and connect the Directional Noise 1 to the Input
Add a Gaussian Noise and connect it to the Intensity Input of the Directional Warp – this will help to further warp the Directional noise
With the Directional Warp node selected, under the Specific Parameters, decrease the Intensity and the Warp Angle
Select the Gaussian Noise node and under the Instance Parameters, decrease the Scale
Add a second Normal Map node and connect the Directional Warp
Add a Normal Combine node and connect the second Normal Map node to the Normal 2 input and the original Normal Map to the Normal 1 input – this will combine the two Normal Maps
Select the Normal Combine node and under the Instance Parameters, change the Technique to Detail Oriented – this will give us a high quality Normal Map
Connect the Normal Combine node into the Normal input of the Base Material node
You can now make changes to the nodes to adjust the wood grain
I will select the Normal Map for the wood grain and under the Specific Parameters, decrease the Intensity
I will also change the Intensity of the Directional Warp
Box-select these four nodes and use RMB to add a frame
Wood Grain Details
To add some more details to the wood grain, add a Gradient Linear 2 node
Under the Instance Parameters, increase the Tiling to 16
Add a Warp node and connect the Gradient 2 Linear node
Add a Gaussian Noise and connect it to the Gradient Input of the Gradient 2 Linear node
Select the Warp node and under the Specific Parameters, adjust the Intensity
Select the Gaussian Noise node and under the Instance Parameters, decrease the Scale
Continue to adjust the Warp node – this will give us some wood grain that has more details
Add a Directional Warp node and connect the Warp node to the Input
Add a Directional Noise 2 node and connect it to the Intensity Input of the Directional Warp node
Add a third Normal Map node and connect the Directional Warp
Decrease the Intensity of the Normal Map node under the Specific Parameters
Add a second Normal Combine node and connect the wood grain details Normal Map to the Normal 2 input
Connect the first Normal Combine node to the Normal 1 input
Connect this new Normal Combine node to the Normal input of the Base Material node
Select the connection between the Directional Warp and the wood grain details Normal Map node and add another Directional Warp node
Connect the Slop Blur Grayscale from the planks to the Intensity Input of the second Directional Warp node
This will help break up the pattern of the wood grain details so it won’t look so uniform
You can continue to change the Directional Warp under the Specific Parameters
Box-select these nodes and use RMB to add a frame
Normal and Height Outputs
Delete the Base Material node
Connect the last Normal Combine node to the Normal output
Connect the Brick Pattern node to the Height output
Select the connection for the Height output and add a Histogram Range node
Under the Instance Parameters, increase the Range and Position options
If you Right-click anywhere on a blank area of the grid, you can View Outputs in 3D View
Ambient Occlusion Output
Connect the Histogram Range to the Ambient Occlusion output
Select the connection between the Histogram Range and AO output and add an Ambient Occlusion HBAO node
If you Right-click anywhere on a blank area of the grid, you can View Outputs in 3D – this will update the view
If needed, change the Intensity of the Slope Blur Grayscale as well as the Range and Position of the Histogram Range
Select the AO node and change the Height Depth and Radius under the Instance Parameters
You can also turn on GPU Optimization to lower the draw call time
Metallic and Height Output
Since the metallic map will be a completely black, you can save some resources by changing the Output Size of the Base Parameters
Select the Uniform Color node
Under the Base Parameters, change the Output Size to Absolute and then decrease the Width and Height to something like 32×32 or 16×16 – this will save space and draw calls in a game engine
If you need a larger texture for a Smoothing Map (this is especially important for Unity users), select the connection between the Uniform Color and Metallic map and add a Levels node
Under the Output Size, change the Levels node Output Size to Relative to Parent
Roughness Output
Add a Curvature Smooth node and connect the Normal Combine node – this will use the Normal Map to give us information about where light would hit the wood grain
Connect the Curvature Smooth node to the Roughness output
Select the connection between the Curvature Smooth and Roughness output and add a Levels node
Under the Specific Parameters, invert the Color Stops of the Levels Histogram – this means the rougher areas will be between the planks
Now you can make adjustments to the Levels Histogram
Base Color Output
Add a Gradient Map node and connect the wood grain
Connect the Gradient Map node to the Base Color node
Select the Gradient Map node and under the Specific Parameters options, click on Gradient Editor
Click on the Gradient at the top of the Gradient Editor
Select the White Color Stop and change the color
You can also add more color stops to vary the gradient
Select the connection between the Gradient Map node and the Base Color Output and add a Blend node – connecting to the Background input
Add a second Gradient Map node and connect the second Directional Warp node from the wood grain details to the second Gradient Map node
Select the second Gradient Map node and under the Specific Parameters options, click on Gradient Editor
Click on the Gradient at the top of the Gradient Editor
Select the White Color Stop and change the color
You can also add more color stops to vary the gradient
Connect this second Gradient Map node to the Foreground input of the Blend node
Select the Blend node and under the Specific Parameters, change the Blending Mode to Add Linear Dodge
You can also adjust the Opacity
Edgewear
Add a Curvature Sobel node and connect the last Normal Combine node
Under the Instance Parameters, increase the Intensity
Add a Gradient Map node and connect the Curvature Sobel node
Select the connection between the Blend and Base Color and add a second Blend
Connect the Gradient Map node to the Foreground of the second Blend node
Select the Gradient Map node and under the Specific Parameters, activate the Gradient Editor
Click on the Gradient and move the Black Color Stop to the right and move the White Color Stop slightly to the left
Add a Slope Blur node between the Gradient Map and the Blend nodes
Add a Fractal Sum Base node and connect it to the Slope input of the Slope Blur node – this will break up the uniformity of the Gradient Map node
Select the Slope Blur node and under the Instance Parameters, increase the Samples and decrease the Intensity
Select the Fractal Sum Base and under the Instance Parameters, change the Roughness option
Select the Gradient Map node and use the Gradient Editor to give the Color Stops some color
Select the Blend node and under the Specific Parameters, change the Blending Mode to Screen
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 either 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