G81 basic makeup and better sss skin

Issue #661 resolved
Alessandro Padovani created an issue

daz studio 4.15.0.2, blender 2.93.3, diffeomorphic 1799521

This is something I wanted to do in a long time but always got caught in other things. At last here it is. Just as a quick review in #48 we introduced support for the G8 uber makeup, that's using the diffuse overlay channels. Also in #179 we introduced a basic support for sss skins. Finally in #349 we introduced a basic support for the G81 pbrskin. Those articles are related here.

Comments (9)

  1. Alessandro Padovani reporter

    1. BASIC MAKEUP FOR PBRSKIN

    The makeup for the pbrskin shader is similar to the uber shader. It can be done with a diffuse layer after the translucency layer. Below the equations and the setup.

    if pbrskin makeup enabled
        cycles mix fac = pbrskin makeup weight
        cycles diffuse color = pbrskin makeup base color
        cycles diffuse roughness = pbrskin makeup roughness mult
    

    Please note that the example above is from Victoria 8.1 who gets metallic reflections for the skin. So the skin shader is converted by the plugin into a sss skin to get the metallic properties. This is correct since we don't get metallic reflections with the bsdf shaders.

    So in this case the makeup comes after the principled shader and before the reflection layers. While normally with a volumetric skin the makeup would come after the translucency layer and before the reflection layers, as explained in #48.

    Below there's Victoria 8.1 with a makeup, I also added a green translucency to better show the interaction between the translucency and the makeup. Test scene v81.duf, that's imported with the bsdf option. First iray, then cycles.

  2. Alessandro Padovani reporter

    2. BETTER GAMMA FACTOR FOR SSS SKIN

    That above was a lucky case because this way I noticed that the original sss skin wasn't good enough. That is, with the volumetric skin the makeup works fine, but with the sss skin the translucency is too much and the makeup doesn't stand out right. This can be solved by changing the gamma factor from 2.5 to 3.5 in the sss skin.

    Please note that 2.5 was totally eyeballed since the sss skin is entirely empiric as explained in #179, so introducing the pbrskin makeup just revealed a better factor. Also please note that 3.5 is generic, not only for makeups, it is better overall.

    Below there's Victoria 8.1 with the pbrskin makeup in the test scene v81.duf. Here we use a 3.5 gamma factor, we see it’s more similar to iray.

    Then below there's Victoria 8 with a uber makeup, test scene v8.duf, that's imported with the principled option so to get the sss skin. First iray, then cycles with a 3.5 gamma factor.

    I also tested other figures with and without makeup and in general the 3.5 factor gives a translucency more similar to iray.

  3. Thomas Larsson repo owner

    Fixed in last commit. You didn’t upload any test scene but the node groups seem to match you screenshot.

    I’m a bit worried that there may be a visible boundary between the metallic face and the body. In DS the metallicity texture fades at the boundary and there is a smooth transition, but in Blender we have a boundary between a principled face and a bsdf body.

  4. Alessandro Padovani reporter

    Will test the new commit and investigate the metallic boundary. Though I fear there's little to do other than trying to implement a bsdf metal.

    This may happen every time we get metallic and non metallic materials mixed in the same figure. A workaround for those cases is to go for a principled conversion that will use the principled shader for everything.

  5. Alessandro Padovani reporter

    Commit 72fb232 works great.

    As for the metallic seam it is because, if we choose the bsdf conversion, the face is converted to principled thus sss because of the metallic reflections, while the body is converted to volumetric. As stated above a solution would be to implement metal for bsdf. A workaround is to use the principled conversion in this case so the issue doesn’t arise.

    I’d mark as resolved but let this issue open for a while just in case someone wants to add comments or ideas.

  6. Thomas Larsson repo owner

    While the boundary problem arises in principle whenever we have both metallic and non metallic materials, it has never been a problem for me before. The cases I have seen are clothes with metal decorations, and in that case a sharp boundary is fine. I will add a warning in the docs, and suggest using principled materials in this case.

  7. Log in to comment