Download

Request: improve transparent materials

I don’t doubt if I search I’ll probably find this exact request in the roadmap, but I’m adding my two cents anyway. We need a much better transparency implementation.

I’m working with converting some transparent materials from one program into UE and frankly it makes UE look like the least good PBR implementation on the market. You guys are most likely already aware of all of this, but here’s what we need:

Transmission (RGB value)
**Reflection **(RGB value) (this is the same as specular, clear coat, etc.)
**Opacity **(Yay, we actually have this one)

Some examples:

Ruby
Transmission: 0.8, 0.0, 0.0
Reflection: 1.0, 1.0, 1.0
Opacity: 1.0
**
Tinted glass**
Transmission: 0.8, 0.9, 0.85
Reflection: 1.0, 1.0, 1.0
Opacity: 1.0

Aerogel
Transmission: 0.0, 0.8, 1.0
Reflection: 0.0, 0.0, 0.0
Opacity: 0.3

Oakley lenses
Transmission: 0.5, 0.5, 0.1
Reflection: 0.5, 0.5, 0.9
Opacity: 1.0

In all of these examples opacity is a final modifier of the opaqueness of a material. A material with an opacity of 1.0 then uses the transmission value to decide what spectrum to allow through. In some cases transmission and reflection are complementary, such as with materials like oakley lenses. In other cases such as aerogel you want a very low opacity due to the very very sparse structure of the material occluding very little light. A material with 1.0 opacity and a red transmission should allow red light through. Heck, I even considered adding **absorption **and scattering (eg. chromatic aberration) to this, if I can figure out how best to emulate them in HLSL.

On top of this we NEED reflection effects such as specular or gloss. In fact, we need straight up scene reflection. I’m still not sure why this isn’t included in the transparency pass, surely it can’t be any different from the diffuse pass.

I’m inclined to build a working example into a post-process effect to make sure I’m not talking total **** as I’m no PBR expert. I’ll come back with something more illustrative soon.

You can get some good results already for gems,

That looks pretty useful! I realised I hadn’t looked at the translucency details section in a few releases either, so it’s nice to see some actual reflections in there. The refraction is still terrible though so I’ll have a crack at what’s in that thread. Thanks!