I’ve been battling with hair in Unreal for the past few days and have decided to reach out to see if anyone else has any suggestions on how to fix this.
This flickering issue is present with both Metahuman characters in this scene. Both have hair, rendering with Strands as opposed to Cards. One is also wearing a costume, with an imported alembic fur system over the top.
I have four downward-facing static spotlights overhead of the characters, and two profile-facing stationary bounce lights that are off to the side of the characters.
After reading multiple threads and forums I have made sure of the following:
All lights present in the scene are baked with reflection maps.
All lights present have “Cast Deep Shadows” and “Cast Ray Traced Shadows” enabled.
All grooms (both hairs and fur) have “Scatter Scene Lighting” and “Use Hair Raytracing Geometry” enabled.
Global Illumination is done with “Lumen”, as opposed to “Standalone Ray Tracing”. SRT causes harsh grainy imperfections on hair highlights/shine spots that I was unable to remedy without Temporal Sampling (which I am unable to do, explained below).
LOD’s for characters and hairs are all forced to 0 (highest quality).
When rendering, “Anti-Aliasing Method” is None, “Spatial Sample Count” at 24, and “Temporal Sample Count” is set to 1. TSC must be set to 1, as there is a known issue with rendering hair physics within UE 5.3 while using TSC which results in incorrect hair physics not rendering correctly.
Below are links to test render videos. The first is without the costume fur enabled, and the second is with the costume fur enabled. No other lighting or rendering settings were changed for the renders.
As you can see, not only does the colour of the boy character’s hair change notably when the fur is enabled, but it almost looks as if a light is turning on and off over the characters. No lights are keyframed or are moving/changing intensity in the shot.
My best guess is it’s something to do with the Raytracing of the fur on the costume, or some kind of light bouncing being calculated incorrectly? That would maybe explain the boy’s hair also changing shade/lightness in sync with the costume fur? Do I have to sacrifice hair physics all together and just do temporal samples to get the right result?
I’m at a loss, and I need to nail this render so I’m able to continue on with the rest of this project.
Thanks for your time - hope to hear soon from any Unreal Engine Deities that might be listening in!
Unfortunately It is a chronic problem of UE 5.0, It get less problematic until 5.3 but as grossimatte told, it got worse at 5.4.
Here we had to run in composition to workaround it, multiple hairs, all flickering depending on the scene and moment. Also the camera focus causes a great damage when the hair in first plane are blurry, so we need to render with camera focus disabled and then make the blur in the comp.
Recurring to composition breaks all the work pipeline, since UE were supposed to be the end-point, as Epic sell it. But unfortunately, the Epic Games Enginners didn’t even take a look here in the foruns, the only option to reach the people that will really help us with this engine-bug problems is paying the UDN fee.
Today I sat with my technical animatior to see what we could do about it, so we ran a lot of tests to understand what triggers that kind of flicker. We found that there is a limit of strands, about 3 million. Also we ran tests with different light sets respecting the 3mm limit, tomorrow we will finish the tests and will post here, maybe it could help you guys.
I’ve found a few of the issues I’ve experienced with hair/fur have been fixed in the 5.4 update, and again with 5.5. Much of this was due to conflicts with static lights versus stationary lights versus moveable lights, as well as doing the opposite of what everyone suggested which was to disable “cast deep shadows” in light settings and disable “cast ray traced shadows” in the hair and light actors too.
The settings tweaked slightly between outdoor/natural light and generated light, but emissive textures in some instances were an affecting factor, while others not. Really inconsistent across the board - it was more things rendering on a lick and a prayer - and even then, my final product still had errors in despite several months of setbacks.
As I wrap up my project, I’ll be doing an in depth behind-the-scenes video breaking down not only the production elements that have gone into my project but also addressing the errors and how I fixed them. When that’s up, I’ll be sure to share my findings here in case anyone else may find them useful!