Why is my material's refraction creating unwanted halo effects?

I have encountered the effect shown on attached picture whenever I tried to use Refraction value in material higher than 1. The bigger the value, the more noticeable this effect would become (pictured is for Refraction of 1.52). I’m not sure whether it’s intended or not, but decided it’s worth bringing to your attention.

Steps to reproduce:

  1. Create translucent unlit material.
    Emissive color - grey.
    Opacity - tested with .15 and .75.
    Refraction - 1.52.

  2. Apply material on an asset (tested with plane and a box mesh, picture is for box mesh).

  3. Align camera so that between you and the “glass” is some other mesh (in this case a skeletal mesh). That mesh will get the halo effect mentioned.

Thanks for your time!

Hi Valentin,

Thank you for your report. I have investigated this issue and I can confirm that this is a known side effect of using refraction. Unfortunately, because it is integral to the feature, this distortion is not something that we are planning on removing.

If Refraction is not producing the desired results for glass, a potential good alternative would be to use a Cubemap and translucent material. This would allow you to create a false reflection of the room and project it on the translucent windows. That would create the effect of glossy windows. Please let me know if there is anything else I can assist with.



Hi Alexander,

Thank you for reply. I’ve tried fake reflections recently via a technique similar to what you suggest, and it is indeed a viable alternative. So will be using it in this and similar cases.
Thanks again for reply and clarification regarding the side effect.


Few questions:

a) How did you unwrapped your mesh ? Is it clean unwrap without disortions ?

b). Did you used any textures, or just pluged straight scalar value ?

To get most of your refraction you need:

a) Have clean unwrap. Unwrap doesn’t need to be unique, or in 0,1 space, but make it is not disorted.

b) Use texture for refraction. Either multiply it by scalar and plug into refraction, on plug it into Lerp alpha and use two scalars. Check which one is working better for you. For more advanced setup you might want to mask refraction using lerp and fresnel node.

c) use normal map. Refraction will actually pick shapes from normal map.

Hope that helps!