Iridescence & Glitter
UE5, Material
Having previously created both iridescent & glitter materials in Blender, I wanted to explore ways of creating these kinds of materials in UE5 and improve upon the effects.
![](img/irid-4.jpg)
![](img/irid-5.jpg)
![](img/irid-6.jpg)
I saw this video from Ben Cloward on iridescence caused from Thin Film Interference. In it he references this page and in his material ends up using this gradient as a texture:
![](img/newton.png)
I wanted to see if I could approximate this gradient within the material itself without having to use a texture. I got fairly close by taking an input mask and separately scaling it's RGB channels (red slightly smaller, blue slightly bigger) before passing them into a cosine function.
![](img/material-function.jpg)
![](img/grad.jpg)
The misaligned sine waves combine to make something pretty close to the original gradient with a very simple setup. This also makes it so that the amount of color separation can be customised to make new/adaptive gradients. For the input mask I use either Blinn or Phong specularity combined with a fresnel effect.
For creating glitter materials, I again used Blinn/Phong specularity, this time distorting the pixel normal by blending it with a Voronoi cell texture, simulating tiny facets pointing in many directions. The results are then tinted with iridescence and plugged into the emission output. This can create effects like subsurface holographic flecks, or shimmering surface crystals on rocks/sand along the lines of Journey.
![](img/bend-normals-2.jpg)