Download

Translucency and Reflections finally working in UE4.6, but still so many problems...

Yesterday I discoved that Unreal Engine finally supports reflective and translucent materials at the same time. This is a feature that many many people are waiting for! Why isn’t it announced? It is really required for realistic water. I tested it on engines 4.5 and older. There seems to be at least some progress from 4.1 to 4.5, but none are as usable as 4.6. Why can’t I find anything about this in the release notes? The documentation does now mention it (but since when?) Lit Translucency | Unreal Engine Documentation

Eventhough this is a good step, it still isn’t good enough. Know that many people are paying for this product and it just doesn’t deliver on the main thing it is supposed to do: render!

This post is inteded for Unreal Dev, so that these things finally get fixed (or explained how to make them work):
The problems I encountered so far:

REFRACTIONS:
See the screenshots:

  • When you don’t use seperate translucency, the diffuse color is offset from the geometry with the refraction (which should not happen!). In fact this can easily be solved. The left “pinky” material in the screenshot does its own screenspace offset and so generates the illusion of refraction, without artifacts.
  • When you use seperate translucency, the depth-map is not offset with the refraction. (In these screenshots I used the depth map to opaque objects that are very deep in the water, so they become invisible. This however does not work if the depth-map does not overlay the diffuse map). (I also used fresnel for opacity BTW).
  • Refractions can be made depth dependent, so that objects very close to the surface hardly get refracted.
  • Refractions should be angle dependent (don’t know if they are?)

REFLECTIONS:

  • When you make a light stationary also my custom reflection map on a material became stationary.

SHADOWS:

TRANSLUCENCY:

  • translucent materials should have the option to mark the depth map (write in the depth map).
  • Translucent primitives are often not drawn in the right order (back to front)
  • Up to UE4.5 specular highlights are not drawn on translucent materials (is it now fixed?)

SPECULAR COLOR:

  • Allow materials to have a specular color other than white.

SCRAP:

  • There are many blend modes wich I don’t understand. Make modes universal and understandable. (OK, maybe you can have more advanced shaders for more realistic scenes, but I would like to see universal feature support, so that the only difference is rendering quality. Actually I am just bothered that simple things like translucency, specular and all I mentioned above don’t work, but still exotic shaders are developed…).
    • Subsurface
    • Preintegrated Skin
    • Clear Coat
    • Subsurface Profile
  • Ambient occlusions is unneeded: why don’t just use black ambient (emissive), black diffuse (base color) and black specular?

TWO SIDED

  • you can’t really determine by the material input “twosided” and “pixel normal”, which side of the material is drawn.

OPACITY/REFLECTIONS:

  • I seem to get inconsistent results. When testing with UE4.3 and 4.5 at first I thought I saw reflections and specular at the same time, but now its gone. In UE4.6 the opacity seems to be too strong. When I set it to 0.96 it looked like 0.5, but now all of a sudden it seems in line with expectation again. Also when I modulate the color with “Scene Color - Input data” the color just gets lighter, not darker. I blame this on too many settings (So it might be my own fault that I get an inconsistent material, but there are so many paths to the wrong direction that it should be made more idiot proof). But I also suspect the High Dynamic rendering to be inconsistent. In any case this is not something I can realy make a statement about.

2796fe8284e74c35674c9be3ae1210599f3e4f13.jpeg
8bc6fb0d4175763e3bfba5950eff33261880c95a.jpeg

COLORED SHADOWS:
Those looking for coloured shadows, I got it working. See some examples in this thread:
https://answers.unrealengine.com/questions/95762/coloured-translucent-shadows.html
Still some problems remain:

Modulate blend mode cannot be used with lighted shading

Translucent colored shadows requires you to set the base color high.

If al your lights are stationary, you loose dynamic effects on your materials (such as tricked reflections?).

Do we still need to trick reflections on transulecent materials or does this work now?

Coloured shadows only work with static lights.

Can you explain me how to get reflection on translucency?

For the material take a look here:

But I still find reflections an translucent materials buggy. There is also an option to magnify the reflection effect, but it does not work on translucent materials.

Also you need to add a reflection capture and don’t forget to build your level (lighting)
Look here:
https://answers.unrealengine.com/questions/108823/sphere-reflection-capture-has-no-effect.html

One quick note on translucent reflections, the Master branch from GitHub (labeled as 4.8.0) has SSR for translucent surfaces as well as some other changes that seem to be a WIP at the moment.

I built from the source a couple weeks back and did a really quick test. All I did was turn on the option in my ocean material, threw a couple of meshes in the scene and hit record… So this shouldn’t be taken as actual quality, but it looks pretty good! :slight_smile:

Looks good!

I have made a new material, where I do my own refraction calculation. It seems as if the Unreal Engine does the refraction step last, while it should be first.

I went a step further, to make the refraction also depend on the depth of the object. So that objects near the surface hardly get distorted. This makes sure that objects half-way in the water don’t get disected.

Another thing is that I blend the colors of underwater objects by modulation instead of alpha blending, which gives much more realistic water.

See my material in attached image:

097cc20399b10843f178ab7a348caa3667dbc1bb.jpeg

Also check out my custom specular lighting material. Now you’re all set for realistic water!