In this tutorial, we’ll be diving into the process of creating a realistic wood material using Blender’s powerful node system. By the end of this guide, you’ll be able to replicate the complex texture of wood with natural grains, imperfections, and subtle scratches.
Step 1: Grain Texture
1. Make sure you have the node wrangler addon activated and you are in material preview
2. Make a new material and name it appropriately
3. Press Shift + A and add a noise texture and uncheck normalize – this will be used for the large grain pattern (NOTE: In previous Blender versions, this will be the Musgrave texture)
4. Right-click on the noise texture and rename it to Musgrave
5. To preview it, connect the noise texture to the principled shader base color input
6. Set the following values for the Musgrave texture:
Scale: 4.6
Detail: 15
Lacunarity: 0 (NOTE: Dimension for previous Blender versions)
7. Press Shift + A and add a noise texture – leaving the normalize option checked
8. Add a mix color node and use SHIFT + D to duplicate it
9. Use CTRL + T to add a mapping and texture coordinate node to the first mix color node
10. Delete the texture image node and connect the mapping node to the A-input of the mix color node
11. Change the texture coordinate to object
12. Connect the result of the first mix color node into the vector of the noise texture
13. Connect the factor of the noise texture into the vector of the Musgrave texture and the B-input of the second mix color node
14. Connect the factor of the Musgrave texture into the A-input of the second mix color node
15. Connect the second mix color node to the base color of the principled shader
16. Change the noise texture values to the following:
Scale: 27.8
Detail: 11
Distortion: 1.12
17. Change the mapping scale values to the following:
X: 1.08
Y: 0.15
Z: 0.15
18. Change the factor of the first mix color node to 0.2 and the B-input color to #BFBFBF
19. Change the factor of the second mix color node to 0.85
20. Select all the nodes except the principled and output node and use SHIFT + P to add a frame
21. Use F2 to rename the frame to “grain”
Step 2: Color
1. Press Shift + A and add a ColorRamp to control the color transitions of the wood texture
2. Connect the second mix color node into the factor of the color ramp
3. Connect the color ramp to the base color of the principled shader
4. Change the black color stop to a dark brown (#331e12)
5. Add a new color stop and change the color to a light brown (#4b2d1b)
6. Add a new color stop and change the color to a golden brown (#7f562e)
7. Change the white color stop to a light beige (##a68e77)
8. Adjust the color stops to get the look you want
9. Select the color ramp and use SHIFT + P to add a frame
10. Use F2 to rename the frame to “color”
Step 3: Knots and Imperfections
1. Use SHIFT + A to add a noise texture and uncheck normalize
2. Right-click on the noise texture and rename it to Musgrave
3. Use SHIFT + A to add a wave texture
4. Connect the Musgrave texture to the base color of the principled shader
5. Change the following values:
Detail: 15
Lacunarity: 6.2
Distortion: 0.16
6. Connect the color of the wave texture to the scale of the Musgrave texture
7. Change the following values of the wave texture:
Scale: 0.7
Distortion: 4.5
Detail: 0.14
Detail Scale: 5
8. Select the wave texture and use CTRL + T to add a mapping and texture coordinate node
9. Change the texture coordinate to object
10. Use SHIFT + A to add a color ramp between the Musgrave texture and principled shader
11. Swap the black and white color stops on the color ramp
12. Change the black color stop to a midtone gray
13. Use SHIFT + A to add a mix color node and change the blending mode to multiply
14. Drag the mix color node onto the noodle between the color ramp and the principled shader
15. Connect the second mix color node from the grain to the B-input of the new mix color node
16. Connect the new mix color node to the COLOR color ramp
17. Connect the COLOR color ramp to the base color of the mix shader
18. Make any adjustments to the nodes as needed
19. Select the new nodes and use SHIFT + P to add a frame
20. Use F2 to rename the frame to “knots”
Step 4: Scratches and Finer Details
1. Use SHIFT + A to add a noise texture and uncheck normalize
2. Right-click on the noise texture and rename it to Musgrave
3. Connect the Musgrave texture to the base color of the principled shader
4. Change the following values:
Scale: 15
Detail: 15
Lacunarity: 2.5
5. Select the Musgrave texture and use CTRL + T to add a mapping and texture coordinate node
6. Change the texture coordinate node to object
7. Change the X-Scale to 120 and Y-Scale to 0.8
8. Add a color ramp between the Musgrave texture and the principled shader
9. Swap the black and white color stops on the color ramp
10. Changing the position of the color stops allows you to refine the scratches
11. Use SHIFT + A to add a mix color node and change the blending mode to multiply
12. Connect the new color ramp into the B-input of the new mix color node
13. Connect the COLOR color ramp into the A-input of the new mix color node
15. Connect the new mix color node from the scratches to the base color of the principled shader
16. Make any adjustments to the nodes as needed
17. Select the new nodes and use SHIFT + P to add a frame
18. Use F2 to rename the frame to “scratches”
Step 5: Bump Map
1. Use SHIFT + A to add a bump node
2. Use SHIFT + D to duplicate the bump node
3. Connect the COLOR color ramp into the height input of the first bump node
4. Connect the color ramp from the scratches into the height input of the second bump node
5. Connect the normal output of the first bump node into the normal input of the second bump
6. Connect the normal output of the second bump node into normal input of the principled shader
Conclusion
With that, you now have a realistic procedural wood material that can be easily customized in Blender! By using Musgrave, Noise, and Wave textures combined with color ramps and bump mapping, you’ve created a detailed and customizable wood material with main grain patterns, imperfections, and fine scratches.