Website powered by

Unreal Engine Retroreflection Shader

Here I am showing the visual effect from a retroreflection shader I wrote for Unreal Engine 4 & 5. It works as both its own shading model and an integration into the 'Default Lit' shading model and allows for masking, so the end user can mask bits out that they do not want to have the retroreflective effect. It also allows fine controls for color return (how much light and color is reflected back) along with IOR & depth, both of which allow for simulating varying types of retroreflective materials (cloth, metal, sheeting, plastics, etc).

The second variant of this shader works in a similar vein to clear coat, as it's able to create a second layer for the retroreflective specular reflection underneath the base specular reflection, allowing them to interfere and create a iridescent effect when viewed from specific angles.

I've made it available for Unreal Engine 4 and Unreal Engine 5 on GitHub (effort required to use)
https://github.com/RDTG/UnrealEngineRetroreflections

Credit to William Schilthuis who's Unreal Engine 4 retroreflection shader inspired me to write my own.

Camera positioned directly behind an area light where the light hitting the road signs is directly reflected back at the camera

Camera positioned directly behind an area light where the light hitting the road signs is directly reflected back at the camera

Varying types of retroreflective sheeting are simulated here.  Including engineer grade, diamond grade & high intensity prismatic.

Varying types of retroreflective sheeting are simulated here. Including engineer grade, diamond grade & high intensity prismatic.

Camera positioned at an offset angle from the light source so only the standard specular reflection is visible.

Camera positioned at an offset angle from the light source so only the standard specular reflection is visible.