Overwatch hair shader

Hello,

I would like to create hair like in Overwatch 2 in Unity URP.

The reflection of the overwatch hair is nice. I can do that in blender, but not sure how to do it in Unity. :confused:

Do you mean anisotropic highlights?

Yes. And I found a shader for this effect actually already. But the shader I found, used maps based on hair strands (hair cards), Overwatch hair is mostly polygon shapes - with a few extra strands (hair cards). The shader seemed to not be suitable for that.

Is the shader you found using Kajiya-kay algorithm or something else? You may need to use a texture or vertex tangent to point out the direction of the hair strands.

Sounds like you just need an anisotropic shader, there’s two easier solutions.

There’s some anisotropic specular functions in BSDF.hlsl in the SRP core. Including it and using these functions in a custom function in shader graph can help.

Alternatively amplify shader can help a lot as people have made nodes doing some of these functions.

This was posted on the discord just recently.

Amplify Shader Editor | Visual Scripting | Unity Asset Store

Here’s an example node setup I used for reflections aswell.

Keep in mind most anisotropic functions require specific UV’s to work, Ideally each hair plane or tube UV’d vertically from the top of the UV to the bottom.

1 Like

thank you, I will check it at a later time. Currently I have a longer game art-project (unreal) and have to pause unity :stuck_out_tongue: