Home Unreal Engine

Setting Up SSS

DustyShinigami
polycounter lvl 5
Offline / Send Message
Pinned
DustyShinigami polycounter lvl 5

Hi

I'm having some difficulty setting up SSS in Unreal, so it would be great if someone could help me with this.

I've learnt through a tutor, and trial and error, that I need to export the SSS I've set up on my character in Substance Painter using Unreal Engine SSS (packed), which combines it with the Albedo/Diffuse in the Alpha channel. I've exported them out as a Targa format. In Marmoset Toolbag 4, I've found out this is then put into the Scatter Map slot and the SSS slider, under Transmission, controls the strength of it in the areas that are un-masked.

However, I'm not sure how to approach it in Unreal. I'm guessing a SSS Profile needs to be added...? I created one and added it to the slot in the Material Editor, and I linked up the texture RGB to the Diffuse channel, and then the Alpha to Opacity. But whenever I adjust the slider in the SSS Profile, nothing happens. It doesn't appear to do anything. If the Alpha channel is linked up though, I think the SSS profile just adds it everywhere. What could I be doing wrong?

Thanks

Replies

  • Fabi_G
  • DustyShinigami
    Offline / Send Message
    DustyShinigami polycounter lvl 5

    Yeah, I believe I followed that one. Though that's for setting up an SSS material. Wouldn't I need to have an SSS Profile instead and control where it shows using a map/mask...? I tried following this video using that approach, but it doesn't appear to work: https://www.youtube.com/watch?v=_PLAZW5BBAY&ab_channel=UIW3DAnimationandGameDesign

  • Fabi_G
    Offline / Send Message
    Fabi_G high dynamic range

    Ah ok, it's two different methods. From the documentation: "The Subsurface Profile shading method is similar to the Subsurface method, but with a fundamental difference in how it renders: Subsurface Profile is based in screen space. This is because screen space rendering is a more effective to display the subtle subsurface effects seen in human skin, where backscattering is a secondary effect only seen in few cases, such as ears."

    I made a quick test and for me it worked fine with a mask to limit the effect. Noticed that the mask for Subsurface Shading Model is inverted (full SSS = 0) compared to the Subsurface Profile Shading Model.

    What specific effect you want to achieve? I can also recommend to inspect a reference UE4 project and possibly repurpose it's material setup (if you don't do this already).

  • DustyShinigami
    Offline / Send Message
    DustyShinigami polycounter lvl 5

    I haven't tried a reference project, no. I tried looking for one and did a search in Unreal's Marketplace, but nothing came up.

    After some more experimenting, my issue turned out to be simple. The mask that was being exported was just too weak, as you can see:











    And yet, in SP, the mask is a lot stronger than that when I go to the layer. Increasing the intensity of the mask in Unreal has got it working. :D

    The only other thing that confuses me is how the Diffuse texture looks when I load it up in Unreal. This is with the Unreal Engine SSS (Packed) preset, which adds the mask to the Alpha channel of the Diffuse.

    If I turn off the Alpha channel, the diffuse is there, and likewise if I turn off the RGB channels and leave the Alpha on - the Mask is there. To begin with, in Unlit mode, the mesh for that texture sheet was showing white. o_O The accessories/saddle is combined with the model, but uses a different texture sheet and that wasn't white.

    I re-exported it out again from SP and now the texture is showing in Unlit mode, but still doesn't display the texture:

    Really weird.

  • Fabi_G
    Offline / Send Message
    Fabi_G high dynamic range

    Makes sense to me that the combined texture is displayed that way since the values in the alpha channel are 0 to close to 0.

    Could be that the unlit view mode is not compatible with the Shader Model. To check this theory, you could temporarily switch the shader model to default lit and check if the albedo shows in unlit view mode. I wouldn't worry about it, as long the rendered result looks fine.

    Regarding the masks values appearing differently between programs might be because the original mask in Painter is in linear space but the texture in Unreal is set to sRgb. I suppose one solution is to convert adjust the values in the material - it would be interesting to see how this is done in example projects.

    Speaking of, I think the newest would be one with meta humans, then there are also older ones with different paragon characters. I am sure there are more.

Sign In or Register to comment.