Groom Ignoring Emmisive and Opacity Mask inputs in Material

First off: I absolutely adore the visuals and usability of the new Groom system and was extremely excited when I first started to mess with it. However there are two blocking issues with the Groom Asset’s rendering that prevent it from being usable for my needs.

Grooms appear to completely ignore all emissive information included in the material and hooked into the emissive slot. When the same material is put onto any typical mesh, the emissive glow is displayed as expected. I don’t know if this is a limitation, a bug or just something that hasn’t been implemented yet, but the ability to have some regions of a groom glow is a must for my needs.

##Opacity Mask
When using the opacity mask blend mode the groom completely ignores the input and doesn’t respond to masking in any way. Again this displays perfectly fine when the same material is dropped onto any other mesh. Being able to mask certain parts of hair or fur via the material is needed for cases where the groom may be covered by other objects such as hats or helmets, being able to mask out portions of the groom via textures using the root UVs and other tricks would be incredibly useful and allow the same groom meshes to be reused in more dynamic contexts where what regions should be visible can change.

##Bug, feature request?
I don’t know if this qualifies as a bug, a feature request or a question but I would love to leverage the incredible groom system in my projects, but I really need these two functionalities to be available for it to completely fill my needs.

I’d love to hear word on if these will ever be accounted for in the groom rendering, or even if anyone has bright ideas about how to work around these two limitations.

1 Like

I’ve found the same, it’s very limiting.

1 Like

I would like an answer as well on this, the last hotfix patch note for 4.26.1 clearly state groom should be able to use emissive, yet it still isen’t the case on my side, I’m totaly clueless there and can’t tell if emissive can be used only under specific circumstances or if it is a bug, or just not possible yet.

Still having this problem even after the 4.26.1 hotfix as well. Have no idea if there is anything special beyond plugging something into the emissive channel that is intended to get it to work. I reported a bug months ago but no response. Going to try and bring it up in the 4.26 release thread and pray someone has an idea of what to do.

Others having this issue may want to post in the Unreal 4.26 Update Thread for more visibility on this issue.

I got this answer from the developer network, works for me, add r.HairStrands.Visibility.Emissive 1 to the engine ini. They did mention though that this feature hasn’t been performance tested.

you’re welcome, glad it works for you.

This works! Great find Mike, I tried setting this value while in the editor through console and never noticed a change but I should have thought to set it in the ini aswell…
Thanks for sharing the solution!

I’m not an expert on this so could well be wrong, but I think the way strands are handled wouldn’t really give the hairs any normal variation, the normals just follow the direction of the strand, so therefore fresnel wouldn’t have any effect.

I was using fresnel to get the edge of the skeletal mesh to glow, fresnel do actually have an effect on groom, but yeah the part of the mesh it light up is wrong.

Thanks, indeed it work, but after some test, I see why the feature is still disabled by default by Epic, some stuff like emissive fresnel don’t work properly yet on Groom.

Do you find the way to mask certain parts of hair? I tried everthing in material blueprint but nothing works.


Same. Need to mask hair on top of the head when wearing a hat but opacity masks just don’t work with hair material

I’ve tried both Opacity and Mask Opacity channels, and hair strands don’t fade away.
Is there a workaround for this issue? Is it a bug?

Yep, I too would like to know the secrets of using Opacity Mask with strands.

Still appears to be no way to adjust Opacity on strands.


Hi! people! I found a solution that worked for me using the console command:
r.HairStrands.ComposeAfterTranslucency 0