I’m trying to get a good grasp on what’s going on under the hood with reflection capture to improve the quality of my scenes.
I’ve noticed is that several things can cause reflection capture brightness to be drastically off.
- static lights
- moveable lights
- emissive materials
However, if I make a scene with stationary lights and none of the above I get reflection captures that always seem to have accurate brightness.
I’m sure this has something to do with exposure of the captured images but I don’t understand why it works fine in some situations (e.g. with stationary lights) and not other situations.
I frequently run into this trying to get accurate reflection brightness in a scene with a skysphere. (Since the skyphere renders using an emissive material the reflection capture brightness will be significantly off.)
Here’s an example:
- Create an empty scene (File->New Level->Empty Level)
- Add a hollow bsp brush about 1000x1000x500
- Add a couple of point lights
- Add a reflection capture sphere
- Put a cone, cube and sphere shapes on the floor
- Create a M_PerfectMirror material (see first screenshot) and apply it to the three shapes.
- Disable screen space reflections. (Show->Lighting Features->Screen Space Reflections)
At this point everything looks good. The cube almost looks transparent because the reflection brightness is accurate.
Next I add M_EmissiveSky material to the roof to simulate a sky. After rebuilding, the brightness of the reflection capture is too low. The perfect mirror now looks as if it were smoked chrome.
If I also add M_EmissiveSky material to the walls the effect gets even worse. The reflections are extremely dark. This is what I run into if I create a new “Default” level that has a skysphere and add a reflection sphere.
To compensate I can fiddle with the Sphere Reflection Capture’s brightness scale. In this case I have to bump it up as much as 28 to get what looks to be approximately correct reflections.
Finally there’s a really weird thing that happens in this case. Reflections that come from positive Z are completely black. Notice the top of the sphere and cube in this image. I have no idea what causes this.
This emissive materials example is just one case of the problem. I really dislike that I have to change brightness so significantly just to achieve reasonable reflection results. I would have assumed the brightness setting would be something that is just there for artistic tweaking. I don’t understand how the values get off so drastically.
I’m hoping someone can give me some deeper insight into dealing with reflection capture brightness in UE4 and why it works accurately in some situations but not others.