How to Make Velvet Fabric?

I thought it would be easy but it’s really not! I was just taking a noise texture to a color ramp and put it into into the Velvet BSDF. I thought that would be enough, but I’m not getting the the reflections right. Changing the “Sigma” doesn’t really do much.

This is my reference
https://www.pierrefrey.com/en/products/F3090-F3090021

I guess it really just depends on how photorealistic you need it to be. What will this velvet fabric be used for? Curtains in the background? Up-close character clothes? Furniture upholstery? Those answers will guide the approach you need to make to get the look you want.

There are tradeoffs to be made in scene/object complexity, memory usage, render time that you need to have an idea about while you are planning your scene.

I put together an example using the cloth sim and some hair particles. It has taken me a bit to tweak to get something like your reference, but it isn’t exact by any means. This has 15,000 particles and 150 child particles per parent. It rendered in 3 minutes 6 seconds on my 6 year old laptop in CPU-only mode, and it still took up 4GB of memory.

Full:

Close up:

If you tell us more about how you plan to use the velvet once you’ve created it, we can probably tell you the best way you should go about making it.

What renderer? If sigma doesn’t work, it suggests Eevee - Velvet shader only works in Cycles for now. In Cycles, my approach would be (non velvet specific) for fabrics;
Principled with high colored sheen and 0 specular. Sheen separates forward and back scatter.
Mixed with Velvet. Possibly mixed with a colored Translucent shader if it has this effect.
Possibly mixed with one or two mixed AS-Anisotropic UV tangent driven shaders of appropriate rotations for the weave.
Cycles doesn’t support “Anisotropic Diffuse/Velvet”, so we can’t make these shaders which are rotation sensitive (nap direction - bright at 0 degrees, dark at 180 degrees). This is a real effect in some velvet/velveteen and others, but impossible to simulate. You can do it with hair particles, but the sheer amount of them makes it impractical.
Then it’s a matter of just mixing the factors. Use textures for crushed effect.

Hi I plan to use it for upholstery mainly. It will be fairly up close so I don’t mind a longer render time to make it look good. I’m only doing one piece of furniture, a product shot.

Like this?

That looks like Eevee. Eevee doesn’t yet support velvet and anisotropic glossy. For aniso tangent, use the tangent node. Set specular to 0 on principled since if you’re adding glossy/ansio later.
The setup below splits the shader; a velvet type shader on the left based on principled w/sheen and a generic fuzz type shader, and double aniso at different rotations and color (for visualization) on the right.

2 Likes

Would you mind sharing how you did yours? I tried it by using pointiness and mixing that with a high density noise texture, then mixing that with fresnel.

That looks so good! I’m trying to recreate it but I didn’t know what is in this node. Could you open it up and send a screenshot?

Screenshot from 2020-05-30 17-04-12

Eevee not have Anisotropic Shader but Vshade for Eevee have Anisotropic Shader for Eevee.Its paid add-on, but maybe you want look.

This is example:

And Velvet Example:

Silk Example:

In real world, not any material have 0 specular. All materials have a specular.

Sorry, a bias function is just a power function. More info on the setup here, can’t screen right now:

@Hikmet: In this case I’m adding specular in the end, outside of principled.
I’m well aware of how specular works and when to completely not use it. Fabrics visualized as a simple surface rather than the complex interactions of strands, is one case - it depends on what I observe. Shadow gaps another obvious one.
I have a faux aniso made for Eevee (free), but it doesn’t work well in all circumstances, so I didn’t include it here - it’s kinda complex. I don’t use paid addons, or even register to get something. I’m weird that way :slight_smile: