How To Make
Procedural Fabric Materials

Hi everybody, welcome to a new tutorial on In this tutorial we will make some awesome looking fabric materials, procedural of course. It will be one material with four different pattern for different fabrics. Don't waste time with this introduction text jump right into the tutorial and have fun.


Fabrics 01

I prepared a small scene for the tutorial, It's just a simple plain with the cloth modifier. Please keep in mind to UV unwrap the plain before you do the cloth simulation. On this image you can see the setting that I use for the simulation.


For the cloth pattern we will use the Wave textures. Add a Texture Coordinate, a Mapping and a Wave texture node to your scene and change the settings like on the image.


The second Wave texture will be a little different, you can copy the Mapping and the Wave texture node. In the Mapping node change the Z rotation to 135° and the X scale to 1.


Mix the Wave textures with a Color Mix node, select Subtract and set the factor to 1. Now we have a pattern that looks like some fabric.


We are going to make some more, different looking pattern. Select the Mapping, Wave and Mix node and make a node group, I call my group „pattern 1“. Connect the scale off both Wave textures to the group input.


To make everything easier duplicate the first group, don‘t forget ti click on the number besides the „F“ to make a new group, and rename it of course.


In the first Mapping node change the X scale to 1 and the Y scale to 0.01, Change the settings in the Wave Texture node all to 0. You can leave the second Mapping and Wave node just like it is.


Add a ColorRamp node to the first Wave Texture, click the small plus sign to add a new color stomp and move it slightly to the left to get more contrast to the pattern.


Set both scale values to 80 and we are done with the second pattern. For the next pattern duplicate the second group and make it a new group.


First change the scale to 40.


Change the ColorRamp node like shown on the image and than add a Math node between the ColorRamp and the Wave Texture node, set it to Power and set the bottom value to 10. This will increase the details and make the white parts bigger.


Next we will make a Felt pattern. Add a new Mapping node, connect the Generated output from the Texture Coordinate to the Mapping node, set the X,Y,Z scale to 7,10 and 10.


Add a Wave texture node and set the Scale to 2, Distortion to 50, Detail to 0.1 and the Detail Scale to 20. Add a Power Math node to this and set the value to 0.7 to increase the contrast and make it brighter.


Make a group for this pattern too.


Select all our groups and make a new group for them all, make a group output for every pattern and make two inputs for the texture coordinates just like on the image.


It‘s time to make our material, first add a Noise Texture, Hue/Saturation/Value and a Color Mix node, set everything up like on the image.


Select all nodes and make a group, take the color from the Mix node and put it in to the Group Input and connect the Input to the H/S/V node. Name the Input „Cloth Color“.


Tab out of the group and change the color so you can see the effects better.


Add a Translucent Shader and use an Add Shader node to mix it with the Diffuse Shader, connect the color from the Mix node to the Translucent Shader.


Add a Glossy Shader, set the roughness to 0.4, connect the mix node to the color and set the Shader to Beckmann. Add a Mix Shader to mix the Add Shader and the Glossy Shader, for the mix factor use the facing of a Layer Weight node. Connect the Blend value to the group input and name it „Facing Glossy“.


Add another Glossy Shader, set it to Beckmann again and connect the roughness to the group Input and name it Fresnel Roughness. Add a Mix Shader and a Layer Weight node and this time use the Fresnel for the mix factor. Connect the blend value the Layer Weight node to the group Input and name it Fresnel. The material os not looking very good now but trust me it will be awesome.


Add a new Color Mix node connect our first Mix node to the first color input and make the second pure white, set the factor to 0.8. This will give some color to the reflections, normally the reflections are always whit but on this material it will look better if it has some color.


Add a Transparent Shader and mix it with the other stuff we made, for the mix factor use a Math node and set it to Greater Than. Put both value‘s of the node to the Group Input, name the first „Pattern“ and the second „Transparency“.


One more thing and we are done. Add a Math node and set it to Multiply, connect the first value to the „Pattern“ Group Input, for the second value make a new Group Input and name it Displacement. Take the output of the Math node and connect it to the Group Output, name it also Displacement.


Tap out of the group and look how simple this awesome material looks like, well it‘s not awesome yet but it will be, it‘s time to play with all those settings.


Here I‘m using the First pattern, you can see the settings on the image and of course you can change them and get a different result, do what ever you like.


Here you can see all four patterns that we made.

That's it guys, I hope the tutorial was helpful. If you like you can go to my Facebook, twitter or google plus site that would make me very happy. Now go and play with your new knowledge about procedural fabric materials, make something beautiful and if you like you can send me your images I would love to sea all your work. Just go to my feedback site and upload your Image. Sea you guys at the next tutorial. 

23 Comments on “

  1. Nice tutorial, very easy to follow. I love learning about creating
    procedual textures because I definitely need to improve my knowlegede
    of the texture and math nodes. It can be very powerfull (like in your tutorial).

  2. Absolutly awesome! This was realy amazing! I hope it will be a second Tutorial some day! Maybe with some wood materials 😉 Thanks a lot and keep up the good work! Best regards!

  3. Thanks for the tutorial. I’ve followed it through and almost got to your results, but I’ve run into a transparency issue. If I don’t set the transparency to a negative value, most of my model will be transparent and not render, it looks like the high points of the texture (the cloth that bumps up) is rendered. I’ve checked the setup a few times and I’m pretty confident I’ve got it the same as yours. Do you have any suggestions as to what I might be doing wrong?

    1. I don’t think that there is a big difference but the Layer Weight Node offers more flexibility in the blending method so it became a habit for me to use it

  4. Can you post the settings for all 4 of the patterns in the final render? I can’t quite achieve the same results

Leave a Reply

Your email address will not be published. Required fields are marked *