Is it possible to create a velvet material in Unreal Engine

I’m trying to create a material like the one in this screenshot.
The screenshot was created in Blender using sheen and a bunch of other procedural generators.

It seems like Cloth Shader exists for this purpose, but I can’t find any documentation on how to actually set that up.

Any help or guidance would be super appreciated as I’ve been stuck on this all weekend

If I understand correctly, the cloth support is more about the surface (physical movement) rather than the shading.

To get the look you’re suggesting in Unreal, I would make a standard Surface material that has one random/grunge map each for gloss, roughness, and normal offset. “Master material” setups (and Megascans) often pack gloss, roughness, and metalness into a single RGB texture, and use a regular normal map for the normals; on top of this you’d probably want a “normal distortion” map that bends the normals in various ways at a more macro level, for the wear marks.

(In fact, that couch doesn’t look quite right to me, because when people sit in couches, the distortions are correlated to butts and backs and arms, but the maps on the couch are more truly random. If that’s the look you want, you can still do that, of course, with the right input maps.)

“FuzzyShading” node in materials :face_in_clouds:

Hey Husky! That’s what I was experimenting with and it seems like that could be would I need!

Only problem was I couldn’t find any documentation on how to actually set up fuzzyshading. Is there any where you could point me towards where I could read how to set that up?

Hey jwatte, really appreciate the response!
That all tracks, but the main issue for me is how I get the material to look fuzzy like velvet. Someone else mentioned the fuzzyshader, but I don’t see any docs on that.

I tried to set up some grunge textures, but the results looks like just normal fabric. I added some Fresnel, but it still seems way off.

Also here is the exact material I’m going for:

the normal map that you put is the one that will define how well the effect looks, it has to be like a type of normal map with a lot of noise
:face_in_clouds:

1 Like

It looks to me like your material doesn’t have enough fine-level variation for the velvet.
If you look at that seat, it has a fair amount of fine-detail variation. I think that might be coming from roughness, and a little bit of normal distortion?
There’s also the micro-facet response of the fabric to light – it’s not just lambert N dot L. You may be able to do something about that by adding a random noise to the anisotropy and tangent parameters in the material.
@Husky211 is on the right track I think.

1 Like

Hey just wanted to says thanks so much for your response!
Was stuck on that for so long!
The issue was that I wasn’t expecting the normal map to actually control the effect.

Just curious, do you know if there’s any docs on the fuzzyShader node? Couldn’t find anything.

No worries if not, this is more than enough for now!
Thanks again!