Fixing “see-through” error when using UE hair and CC characters

Nov 03, 2022 at 08:37 am by nemirc

Fixing “see-through” error when using UE hair and CC characters
Fixing “see-through” error when using UE hair and CC characters

When I work with realistic hair, and Character Creator characters, in Unreal Engine, I have noticed a really strange effect when the hair is covering the eyes (for example, if your character has long hair that covers part of the face, or if the character has long hair and is seen from the side). You can see the contour of the eyes through the hair. See the image below to know what I mean.

To be honest this is a very horrible render artifact, and I was tempted to just change the hair style completely, because it looks very bad and makes the game look less professional. However, I decided to look into it, because I knew this was not the only time I would have to face this issue. For example, the girl in Just Let Me Go: Black Birthday has long flowing hair, and the only reason the effect is less visible is because she has darker hair.

This is actually a very easy thing to fix. The problem is caused by the eye occlusion material created by the CC Auto-Setup (the material that covers the surface of the eye to produce the “AO look” around the edges of the eyelids). The image below shows the material I am talking about. It’s called Std_Eye_Occlussion_*_L_WHQ_Inst (it’s a separate material for each eye).

To fix this error, first open the material, and then scroll down until you reach the Parent parameter (all the materials created for your character are material instances, derived from base materials). Double click on that material slot to open it in the material editor.

Then, in the material details, look for the “Render After DOF” parameter, and uncheck it. Re-compile the material and save. In Unreal Engine 5 this parameter is a little different. It’s simply called “Translucency Pass”, and you have to set it to “Before DOF”.

If you check your character again, the render artifact is gone. The error was caused by that parameter that we unchecked. That effect causes translucent effects to render on top of the DOF, but that causes all sort of transparency artifacts, including the one we were experiencing. Also, remember I said your character’s materials are material instances. As soon as you uncheck that parameter in the base material, that fix is transmitted to all material instances using that material. This means all your characters that you import into your project will have that fix included.

Sections: Tips + Tutorials

Top Stories

This website uses cookies to ensure you get the best experience possible More Info
Got it!