How To Create Procedural Fabric in Blender

How To Make Procedural Fabrick Mockup In Blender

Table of Contents

Hi everyone, welcome! My name is Gergo Sztuchlak from Today, we’ll start by learning a simple design technique and gradually move to creating a more detailed procedural fabric design using a shader. We’ll also explore how to add fuzziness to the fabric using particles. If you stay with us till the end, I’ll show you some basic ways to simulate cloth, which you can use for backdrops or to practice your designs. Thanks for joining, let’s begin.

Setting Up the Workspace: Lighting and Camera for Fabric Design

First, I’m working in a setting with a basic cloth backdrop. I’ll explain how to make this at the tutorial’s end. There’s some lighting here to help us see the cloth. Feel free to check the settings if you’re interested. I’ve set up the camera to get a good view. The material on the cloth has a Designer Dude logo for a cool look, but don’t worry about it; it’s just for style.

Creating Realistic Fabric Textures: Starting with Basic Shaders

We’re starting with a basic shader called “principle bsdf” with default settings. I’ll first choose a color for it – I’m going with an orange-yellow. Then, we’ll tweak some settings. First, we’ll adjust the ‘roughness’. This depends on the look you want. Generally, I prefer a higher roughness for a more realistic fabric texture. If you’re new to this, lower roughness means shinier and higher means less shiny. I think a value around 0.991 looks good for fabric. This is the simplest procedural fabric design. Feel free to leave if that’s all you need, but I hope you’ll stay longer. The first step is increasing the roughness to make it look more like fabric.

Next, we’ll add our first texture, which is a simple step. Press Shift + A, select ‘Texture’, and choose a ‘Magic Texture’. If you connect this directly to the ‘Normal’ input, it won’t work as expected. To fix this, we need to convert the color output from the Magic Texture into a normal input. Do this by adding a ‘Vector Bump’ node. Connect the color output of the Magic Texture to the ‘Height’ input of the Bump node. This way, the color affects the height, which is then converted to a normal output that goes into our shader.

First Texture Application: Integrating Magic Texture and Bump Nodes

At this point, you’ll notice some changes, but it might not look perfect yet. The main issue is the texture isn’t mapped correctly. Usually, we use the ‘Object’ input for procedural textures, but here it defaults to ‘Generated’, which isn’t ideal. To see what’s happening, you can look at the object’s current appearance.

Enhancing Textures: Using Magic Texture and Vector Bump in Fabric Design

Before we proceed, I want to explain how I added two nodes quickly. I selected the Magic Texture and pressed Ctrl + T. This added a ‘Texture Coordinate’ and a ‘Mapping’ node. If you can’t do this, you might not have the ‘Node Wrangler’ add-on enabled. This add-on is free with Blender and very useful, so I recommend turning it on. Once enabled, you can use its shortcuts, like Ctrl + T, which I used. Lastly, for this step, I’ll switch to using the ‘UV’ input for better mapping.

Texture Mapping: Using Object and UV Inputs for Realism

If you’re going to look closely at your design, you should make the details more subtle. That’s looking good. Now, let’s add a few more textures. First, I’ll add a ‘Wave Texture’. Go to the texture menu, choose ‘Wave Texture’, and link it to the UV. Connect it there, and then in the color section, connect it to another ‘Bump’ node. You can duplicate the existing bump node by pressing Shift + D, then connect the new one to the height input of the Wave Texture.

Fine-Tuning Fabric Designs with Wave and Magic Textures

When you increase the scale of the Wave Texture, you’ll start seeing the wave patterns. Many fabric designs use two Wave Textures for a cross-hatch look, but the Magic Texture we used earlier is also effective. I want my procedural fabric to have a bit more direction, so I’m combining the Wave Texture with the Magic Texture for a nice effect. Set the distance on the Wave Texture quite low for a smoother look. There are different settings like ‘Sine’, ‘Saw’, or ‘Triangle’, but we’ll stick with ‘Sine’ for smoothness. However, ‘Sine’ may not always be perfectly smooth. If you look closely, especially at a high value, it might not be as smooth as desired. Lowering this value and the strength will make it appear softer and more rounded.

Once everything is connected and looks good, we have our basic fabric material ready. Let’s save our work. I’ll press F12 to render and see how our design has evolved from the start to now.

Exploring Procedural Textures: Versatility in Fabric Types

This material we’ve created is great for a variety of fabric types. Procedural textures offer a lot of flexibility to experiment with different looks. So far, it’s turning out well. The next step is to add fuzz to the procedural fabric, making it look even more realistic. Be warned, this step can be demanding on your computer, so if you’re already having performance issues, you might want to skip it.

Introduction to Adding Realistic Fuzz with Particle Systems

We’ll use a particle system for the fuzz. When you press the spacebar, it might look like it’s snowing on the fabric, but that’s not what we want. We’re going to use the ‘Hair’ system instead, although initially, it might look too wild, like a crazy forest.

First, I’ll remove the Designer Dude logo to focus on the hair details. In the settings, the first thing to adjust is in the ‘Advanced’ section of the physics tab. Here, add a bit of ‘Brownian Force’ to make the hair fibers look more natural and less straight. Use a low value, as the hair is still quite long. Even if you reduce the hair length to zero, it’ll still stick out a little because the Brownian force adds some movement to the hairs.

Adjusting Hair System Settings for Natural Fabric Fuzz

Reduce the length of the hairs by adjusting the Brownian force. It’s a bit of a balancing act – you’ll also need to play around with the ‘Damping’ value and the ‘Mass’ to get the right hair length. It’s not as simple as just changing the hair length setting; these forces interact and need to be balanced correctly for the best effect.

Enhancing Fabric Realism: Adjusting Fuzz Appearance

I’m going to increase the amount of fuzz so it’s more visible. Right now, the hairs look like tentacles, tapering to a point, which isn’t very realistic for fabric. To fix this, in the hair shape settings, I’ll uncheck ‘closed tip’ and set both the root and tip diameter to the same value, about one. This makes the hairs look more like macaroni, especially in the color I chose. But they’re too thick, so I’ll reduce the diameter. I’ll change both the root and tip diameter to 0.1 to make them look more like fine fibers.

This is better. Let’s increase the number of fibers tenfold by adding another zero. This will be heavy on your computer, but it creates a nice fuzzy look. For more control over the fuzz’s appearance, I’ll create a separate material for it. In the material settings, I’ll add a new slot and name this new material ‘fuzz.’

Creating a Dedicated Material for Fabric Fuzz

In the particle settings, under the render tab, I’ll set the material to ‘fuzz’. Since we haven’t customized it yet, it’ll default to a basic white, which looks pretty cool. Feel free to experiment with different looks. To make the fuzz more realistic, I’ll delete the principled shader and add a ‘Principled Hair BSDF’ shader.

Customizing Fuzz Material: Principled Hair BSDF Shader

When connected, the fuzz will look like little hair strands. The default color is brunette, but I’ll change it to match my fabric material. I’ll copy the fabric color (Ctrl+C) and paste it (Ctrl+V) into the fuzz material’s color field. This creates a realistic, glassy, and slightly clear hair strand effect. Be aware, these changes can really push your computer’s limits – you might even hear mine working hard in the background. There are a lot of settings to explore here.

Color Matching and Performance Considerations

If you find the fuzz on your fabric too transparent or clear, try increasing the ‘coat’ value. This will make the fuzz match the color you’ve chosen more closely. But honestly, the default settings usually look pretty good.

Rendering and Evaluating the Particle Enhanced Fabric

Make sure to save your work if you haven’t already. I’m going to render the image now to see how it looks with all the particles added. When you look at the final result, you’ll notice the base fabric material and, for added realism, the particle system fuzz on top. Hopefully, your computer can handle it.

Alternative Fuzz Techniques: Geometry Nodes vs. Particle System

For those who know about geometry nodes, that’s another way to add fuzz. However, I find the default particle system easier to use since I’ve worked with it longer. You don’t have to use geometry nodes, but they might be quicker for some projects, both in terms of computing and workflow.

Concluding Thoughts on Procedural Cloth Material Creation

I hope you enjoyed this tutorial on creating a basic cloth material using procedural techniques. Feel free to adjust the settings to your liking. You can also use image textures, although procedural textures offer a lot of flexibility and options for creativity. Stick around for the next part if you’re interested in learning how to set up cloth physics for objects like this. What we learn can be applied to various cloth items.

Thanks for being here and staying with me. If you liked this tutorial, don’t forget to like and subscribe. I’ll see you in the next part.

Getting Started with Cloth Simulation in Blender

Now, let’s set up a simple scene with cloth simulation. I’ll add a plane to this empty scene and scale it up a bit to create a ledge for the cloth to fall onto. Using some basic commands like Ctrl R to add edge loops, B to bevel, and moving it up a bit, I’ll shape the ledge. To make it more rounded, I’ll add a bevel modifier. This is just going to be a surface for our cloth to interact with, so something like this should work well.

Preparing the Scene for Cloth Simulation: Creating a Ledge

I’m going to add another plane, lift it a bit, and scale it in edit mode (by pressing the tab key). This will be our cloth for the simulation. For cloth simulation, you can’t use just a plain, flat plane; it needs to be subdivided for more detail. Right-click on it and choose ‘Subdivide’, then press Shift R a few times to repeat this action until you have a dense enough mesh. A denser mesh means more detailed wrinkles, but it also takes longer to simulate and render. I think the density I’ve chosen will work well.

Setting Up and Detailing the Cloth for Simulation

Next, let’s add physics. I’ll set this plane as ‘Cloth’ and the other as ‘Collision’. When you press the spacebar to start the animation, you’ll see the cloth behaving realistically. But it’s starting to slide off, so I’ll adjust a few settings. For the collision object (the floor), I’ll increase the friction. Setting friction to 80 makes it very sticky, but I’ll go for around 69, so the cloth moves slightly without sliding off.

Adjusting Physics for Realistic Cloth Behavior

Before making further adjustments, go back to frame zero. Moving or rotating the cloth at any other frame can cause problems. At frame zero, reposition the cloth for a more interesting fall. It might take a few tries to get it right. Right now, the cloth looks rough and polygonal.

Finalizing Cloth Simulation: Self-Collisions and Smoothing

To smooth it out, right-click and choose ‘Shade Smooth’. Then, add a ‘Subdivision Surface’ modifier for further smoothing. This looks much better. However, we now notice that the cloth isn’t colliding with itself – it’s passing through itself. In the physics properties (or just click the convenient button for it), go to the Collision settings. Turn on ‘Object Collisions’ (which we need) and also ‘Self-Collisions’. Now the cloth should properly collide with itself, and it seems to be doing just that.

Refining the Cloth Simulation: Adjusting for Variety and Realism

The cloth simulation is looking really nice now. It’s a bit too uniform for my taste, so I’m going to keep adjusting it until I get a variety of folds that look good. I think the current setup is pretty good and I might just leave it like this. There are many settings you can change in the cloth simulation, and there are even presets. For example, changing it to ‘Rubber’ makes the cloth behave more like rubber. These presets are useful for understanding how different materials behave and for learning which settings to adjust for your own cloth.

I believe the default setting was ‘Cotton’, so I’ll switch it back to that. I hope I didn’t mess anything up, but it looks fine. I’ll let the cloth fall a little more and then stop it right there.

Saving and Finalizing the Cloth Simulation

Next, I’ll add a camera and check the view. I want to make sure the final position of the cloth offers a nice composition. Right now, it looks good with smoother folds in the front, tighter folds in the middle, and less folding on the ledge. I’m happy with this composition.

Enhancing Cloth Visuals with Additional Subdivision

To save the current state of the cloth so I don’t have to simulate it every time, I’ll use a trick. Make sure the cloth modifier is first in the stack, then click ‘Apply as Shape Key’. It might look like the simulation is gone, but if you go to the object data properties under ‘Shape Keys’, you’ll find a new key called ‘Cloth’. Turn its value up to one, and your cloth simulation is saved. Note that you won’t be able to run the physics simulation on this cloth anymore, but it’s like a saved state.

If you want, you can add another layer of ‘Subdivision’ to make the cloth look smoother. This setup is a simple way to test fabric materials or create a nice backdrop for a product. That’s it for this part!

Picture of Gergő Sztuchlak

Gergő Sztuchlak

I'm Gergő, co-founder of DesignerDude, and resident UX and graphic design guru. With over a decade of experience, I'm a design Swiss Army Knife - versatile, multi-functional, and always ready to tackle whatever challenge comes my way (except maybe spiders, as I'm not so great with those). When I'm not busy crafting beautiful designs, you can usually find me geeking out over the latest design trends or convincing my co-founders that we need a company mascot (seriously, who doesn't love a good mascot?). As a designer, I have a keen eye for detail, a love of typography, and a knack for making everything just a little more awesome. So, if you're looking for a designer who can bring some wit and wisdom to your project and a lot of experience, you've come to the right place. It's nice to meet you!

Cart (0)

  • Your cart is empty.

newsletters sucks!
our's don't.

25k+ subscribers already enjoy our Freemium stuff.

Subscribe now

By clicking that button you’ll confirm that you’re a genius.