Home Technical Talk

Cotton and some other fabric materials in PBR

polycounter lvl 10
Offline / Send Message
dzibarik polycounter lvl 10
Did someone manage to write a proper PBR shader for materials like cotton in PBR? Standart roughness/glossines doesn't cut it. It's either looks really rough or plastic.

How do you solve this?

Replies

  • SuperFranky
    Options
    Offline / Send Message
    SuperFranky polycounter lvl 10
    There is a cotton preset in Quixel DDO. You can also apply additional effects to it in Marmoset or whatever.
  • marks
    Options
    Offline / Send Message
    marks greentooth
    Rendering cloth 'properly' in pbr is very complex, its one of a small number of things which can't be properly represented using a 'standard' brdf and pretty much requires custom shader to get it to look right (along with some other things like skin, hair).

    Something you can try is to use coloured specular on cloth, that may help some.
  • dzibarik
    Options
    Offline / Send Message
    dzibarik polycounter lvl 10
    Well, it seems to be a standard limitation then. I wonder how can I get all this little microfibers glittering without overdoing the effect, like making it really subtle.
  • Joost
    Options
    Offline / Send Message
    Joost polycount sponsor
    What engine are you using? In Marmoset it's very easy if you use the microfibre diffusion.
  • dzibarik
    Options
    Offline / Send Message
    dzibarik polycounter lvl 10
    I tried both Unity and Unreal. Marmoset is good but I want something like this in-game.
  • Joost
    Options
    Offline / Send Message
    Joost polycount sponsor
    I could be wrong as I've never set up a cloth shader, but as far as I understand it the main part of a cloth material is Fresnel. The little fibres in cloth catch the light and cause it to "bend" across convex surfaces. Which makes the convex surfaces brighter and as a result the concave areas are darkened. so I think you could probably make a good base shader with just a fresnel node? The microdetail isn't as important as the macro shading because it's usually at a subpixel scale anyway. But you could do that with a subtle tiling detail map potentially

    Correct me if I'm wrong though.
  • marks
    Options
    Offline / Send Message
    marks greentooth
    It's quite a lot more complicated than that, I'd recommend reading some papers or presentations about cloth shading in modern games renderers - Ready At Dawn and I think Epic have both done talks covering it
  • rucrazy
    Options
    Offline / Send Message
    Something you can try is to use coloured specular on cloth, that may help some.
  • Pritster5
    Options
    Offline / Send Message
    Pritster5 polycounter lvl 5
    I had an issue similar to your's when making Moss in Substance Designer. What I found that faked the "fuzzy" feeling of cloth and moss really well was an inverted heightmap that was used as a glossiness map. Basically, the glossiness map (the deep parts of the heightmap) would reflect light more sharply there (assuming a physically correct specular value) and it would give a feel of rim lighting or fresnel and would make a material seem fuzzy. 

    I have attached an example picture below: 

  • radiancef0rge
    Options
    Offline / Send Message
    radiancef0rge ngon master
Sign In or Register to comment.