2 Sided Fresnel on Meshes - UE4

Hey guys! Does anyone have a solution for achieving a fresnel effect on 2 sided materials? I haven’t been getting any luck. I tried a variant - Dot Product of the Camera Vector and Vector 3(0,0,1) into an Abs, but that didn’t work.


Not sure of the exact issue you’re having, but this could be a solution for you. It will allow you to control the fresnel for the forward direction faces separate from the back direction faces.

Dumb question, but do you have Two Sided checked in your material?

@hyawatha15 Sorry, I shouldve specified. I’m trying to fade out the edges of a mesh but I need both sides of the faces to be visible. Instead, only the forward faces are visible. I’ll go try out your method and see if I get any luck. Thanks!

@Travis Yes, I have 2 sided checked on haha it is common to have those little things overlooked though

After trying out the method you suggested, it wasn’t the ideal effect I was looking for(although I could see the potential). After looking straight on to the back faces, I’m still getting nothing that is rendering while using a fresnel effect. Thanks though!

Have you seen any example of something similar that you could post on here? It maybe easier to point you in the right direction or suggest a close enough workaround if we knew what you were looking for.

1st image is showing the front faces with the fresnel effect working.
2nd image (back faces) without fresnel
3rd image (front faces without fresnel)

My goal is to replicate that front faced fresnel effect onto the back faces but they dont render at all when the fresnel effect is applied

I think I understand, you want the softness of the first image while being able to see the inside faces, but all you’re getting is the hardness of bottom image?

Sorry, I think I was editing my post as you replied. To clarify, I’m only getting the soft fresnel effect on the front faces as shown in the 1st image but if you rotated the camera to look at the back faces, those wont render at all.

I posted the other 2 images without fresnel just to showcase the difference if that makes sense.

Weird, I have it working on my end just adding absolute value after my fresnel. I’m using a dot product of Camera Vector and a Vector 3 with just a value of 1 in the blue channel like you. Did you convert your normals (vector 3) from tangent to world space?

I don’t think I did. Is that using the TransformNormals_Tangent_to_Vertex or the DeriveTangentBasis node? I think I’m getting closer to what I want from using either one.

Yup, I think that’s the solution for my issue haha

Thanks for the help! This has been rattling my mind for a bit.FresnelFix

1 Like

Dot Product between CameraVector and VertexNormal/PixelNormal works for me for two sided materials:


This method definitely works too! Thanks for the reference!

how strange, i was trying to do that very thing earlier today.