Home Technical Talk

could use some help with roughness maps

polycounter lvl 14
Offline / Send Message
disanski polycounter lvl 14
Hey guys,
somehow I was stuck working with the old ( non PBR) workflow until now, and I am finally trying to make the switch and could use some help.
The main problem that I have is that I am not sure if I am not missing something when creating the roughness maps. I think I understand the basics - white is smooth/ shiny and black is rough and not shiny and this is inverted for UE4, but I am not sure if what I am doing is correct so I would love to hear how you guys approach this.
This is what I usually do:
I sculpt all my skin details onto the high poly mesh
high%20poly.jpg

Then I bake this down to a normal map and from the normal map using NDO i extract something like cavity map so I can use that as a start for my roughness map. This is how this looks out of NDO and inverted so I can use it in UE4 later:
cavity%20map01.jpg

The problem I see here is that this gives me a lot more wrinkles and folds than what I need for the roughness map so after I spoke with few friends I try to remove those by hand just painting it over or using the stamp tool, so then I have something like this that has more even values and just about only surface detail.
rougness%20map02.jpg

after that I try to darken some more the areas that I think should be more glossy and adjust the values so it looks like a skin:
rougness%20map%20adjusted%2003.jpg

and this is how it looks like in Marmoset:
marmoset04.jpg

So how do you guys extract the details that you need for your roughness map? Am I missing or doing something wrong?
Thanks in advance and sorry for all the text :)

Replies

  • huffer
    Options
    Offline / Send Message
    huffer interpolator
    It looks like a good workflow, just needs darker values, take a look at this (the non-polarized set of images), there are some shiny shiny parts. I think everything should be slightly darker than the lips, with darker areas on the nose, under eyes. It's tough to tell without adding more point lights because skin has a low reflectance (~55 sRGB)
  • almighty_gir
    Options
    Offline / Send Message
    almighty_gir ngon master
    Ian_head_final.jpg

    and here's the gloss map for the face (using GGX reflectivity):

    skra5Kn.jpg

    Almost all of the detail in the face comes from a combination of the base normalmap and a detail normalmap. the face has a constant reflective value (0.028) for the entire area.
  • disanski
    Options
    Offline / Send Message
    disanski polycounter lvl 14
    Thanks for the help guys.
    Huffer- If I make everything darker it becomes a lot shiner than what skin should look like so I am not sure how this would work here. I am actually making this for UE4 so this map is inverted.

    Almighty-gir: Thanks for posting this man. I think I am even more confused now :) So I don't need to include the surface detail into the roughness map? I was just looking at the example from the marmoset site with the maps you guys provided with the character setup video and I was trying to mimic that:
    2015-04-05%2015_19_13-HEAD_GLOSS.png%20%40%20121%25%20%28RGB_8%29%20_.png

    I guess there are different ways of getting there.
    I am also not sure If I can use detailed map for this particular project but I will check again.
    If I don't use those detailed maps ( I haven't used one yet) would it be ok to add a bit of the surface detail to the roughness map? Since I saw this lates image you posted I have turned it down by 50% and this is how it looks now:
    2015-04-05%2015_53_41-Male_head_textures.psd%20%40%20100%25%20%28base%2C%20RGB_8%29%20_.png
    I also started using the skin shader in marmoset for now , so that alone made things look much nicer:
    2015-04-05%2015_54_24-Marmoset%20Toolbag%202.06%20%20_%20%20male.tbscene.png
    and different lighting condition:
    2015-04-05%2015_57_04-Marmoset%20Toolbag%202.06%20%20_%20%20male.tbscene.png

    And I have one more question that I am confused about: When you refer to the reflective value, how do I measure that? I am trying to use the color picker but I am not exactly sure what am I looking for. Is it the brightness value?
    2015-04-05%2016_00_56-Male_head_textures.psd%20%40%20111%25%20%28Layer%208%2C%20RGB_8%29%20_.png


    Thanks again for all the help guys.

    edit:
    I tired removing all the surface details from the roughness map and added dedicated cavity map and this seems to be working a little better now:
    2015-04-05%2016_47_36-Marmoset%20Toolbag%202.06%20%20_%20%20male.tbscene.png
  • almighty_gir
    Options
    Offline / Send Message
    almighty_gir ngon master
    Well try to think of it logically - a gloss map is used to show differences in the microsurfaces, how rough the surface is etc. skin pores don't really get more or less rough than the rest of the skin, and in fact the entire skin (including the pores) is coated with a very thin layer of oil. this should be reflected in your gloss map.

    The reason cavity maps are useful is because they help break up what would otherwise be a consistent "sheen" across the skin.
  • disanski
    Options
    Offline / Send Message
    disanski polycounter lvl 14
    Ahh good point man. Thanks for elaborating. Now that I added the Cavity map as a separate dedicated texture things start to fall in place.

    Now I just need to figure out how to measure those roughness values so I can keep everything consistent. :) So where do I get the 0.028 reflective value, how do I measure that?
  • almighty_gir
    Options
    Offline / Send Message
    almighty_gir ngon master
    http://graphics.ucsd.edu/~henrik/papers/skin-analysis/skin-analysis.pdf

    page 9. top right corner...

    There is an image of a face with colour coded/numbered regions. on the right is a graph showing the range of gloss and reflectance values measured for those regions. where "m" = glossiness (linear).

    the value of 0.028 is just the given average of measured reflectance for skin.

    That pdf, and in particular that graph is really useful because it shows you the "plausible range" of values you could use to give your characters variation from each other. HOWEVER - it's also done using a very particular shading model that doesn't match up 1:1 with either blinn-phong or ggx, it is closer to ggx though.
  • disanski
    Options
    Offline / Send Message
    disanski polycounter lvl 14
    Thanks again for providing all that info man!! However what I am trying to ask is not how was that measured on first place but how do I measure this on my own texture. It is grey scale value from black to white, so what is is this number 0.028 corresponding to. How do I check if what I have is near that value. When I use the color picker I can measure the brightness of whatever I am working with in %, from 0 to 100 so I am little confused what does this 0.028 is on my texture.
  • almighty_gir
    Options
    Offline / Send Message
    almighty_gir ngon master
    Just leave your specular texture empty and set the slider to 0.028 (in toolbag), in UE4 you'll need to put a constant with a value of roughly 0.3 into the "specular" slot. The specular slot in UE4 has a default value of 0.04 when nothing is plugged in, then switches to 0.08 when something is plugged in... 0.08 * 0.3 = 0.024
  • disanski
    Options
    Offline / Send Message
    disanski polycounter lvl 14
    Thanks a lot for the super quick replies Lee. This was very helpful :)
Sign In or Register to comment.