Reflected / Indirect light on Metahuman Hair Groom is too strong

I start by saying that i’m not even sure if this is a problem but it seems to me and my colleague, that when the metahuman hair is illuminated by light that is reflected from a surface (indirect light), the color of the hair looks strange.
It looks too shiny. Forcing roughness and specular to 0 or 1 in the base hair shader doesn’t change the result.
One parameter that affects this in the hair shader is hair melanin. Setting it above 0.6 somewhat alleviates the problem, but that also means that it is impossible to create blonde characters.

We are using Lumen for scene and reflections.

The issue can be easily replicated:

  1. Make a first person project
  2. Import metahuman with long hair
  3. Remove all lights
  4. Place a single spotlight so that it illuminates a wall (set it to 20000 lumens)
  5. Place a metahuman in front of the wall so that its back is facing the wall
  6. Set hair shader “Hair melanin” parameter to 0.3
  7. Look at the metahuman from behind

From a certain angle the middle portion of the hair will look almost golden. I understand the specular highlights that should be visible on hair, but this seems to be way more over-saturated than it should be.

This problem can be masked by pointing a light directly at the character, but my assumption is that this doesn’t really fix the problem, but rather, makes it less noticeable.

One thing that is different in our project is that we don’t use metahuman lods. LOD for metahumans are forced to 0 for all distances.
I also noticed that this doesn’t happen for lower hair lods, but because of the nature of our project, we have to use lod 0 all the time.

Setting the IndirectLightingIntensity on the spotlight to 0 removes the golden highlight, but this also affects the rest of the scene in a way we don’t want it to.
The problem becomes far less visible, if there is sunlight in the scene, but for indoor levels, this is not a solution.

Solutions that i tried until now:
Changing roughness, specular, metallic parameters in the hair shader - did not work
Setting Hair Melanin parameter in the hair shader over 0.8 - somewhat masks the problem, but makes it impossible to make characters with bright hair
Checking “Scatter Scene Lighting” in the hair groom - this makes the hair look hideous
Changing Scalability “Shading” to cinematic - fixes the problem, but makes the hair look noisy and ugly
Adding other light sources - works, masks the problem, but is not a solution as there will be indoor levels with a single light

Most solutions that i found online are usually in the nature of lowering the quality settings or end up making the hair look even worse.
Has anyone dealt with this issue before? Have you managed to solve it with compromising the quality of the hair?

Hello there @TauFrost!

This issue has popped up a few times around the community, and you are already in the right path, having covered most of the options to aliviate the excessive reflection. There a few more options to take:

  • Try using Shadow Maps instead of Lumen reflections for the hair asset. Go to Post Process Volume > Rendering Features > Hair Rendering, then uncheck “Use Lumen Reflections”, and enable “Use Shadow Maps”. This way, the hair will be forced to use shadow maps and regular lighting, avoiding the excess reflection.

  • Alternatively, test by using lighting channels for controlling the hair only. Open your hair mesh, disable Lighting Channel 0, and enable Lighting Channel 1, then use a spotlight set to channel 1 only, with a lower value for “IndirectLightingIntensity”. This way, you will fix the hair issue, without affecting the other lights in your scene.

Hello, thank you for the response.

I’m on Unreal 5.5.4 and i don’t see “Hair Rendering” in Process Volume > Rendering Features > Hair Rendering, neither in project settings > rendering.

Our shadow map method is Shadow Maps, not Virtual Shadow Maps, as i noticed that VSM tank FPS in our game.

Also switching Light Channels on the hair groom doesn’t seem to do anything.
When i switch light channels on the spotlight - disable Light Channel 0 - the hair groom is no longer affected by light.
However, when i enable other light channels on the spotlight, while keeping light channel 0 disabled, the entire metahuman is no longer affected by that spotlight, even when channels 1 and 2 are enabled on the metahuman.