The challenges of PBR material systems and physical lights.
Environment Artist Alireza Khajehali is a working on an amazing thread on Polycount. The first tutorial gives nice tips and tricks on setting up the light in a created world.
PBR material systems introduce the need for physical lights. By that I mean we should have an idea of how much light we are casting on our materials otherwise we’re breaking the point of PBR which is achieving a more realistic look.
Unfortunately the Sun in UE4 doesn’t have any physical units such as Lux so you wouldn’t really know how much light you’re casting on your world. There are some ways to calculate this but in the end you’re not gonna have a result as pleasant as you’d have with a physical light. Now I’m gonna give you some values that I’ve found most helpful in my cases. For overcast lighting all that’s needed is a good cloudy Skydome and a Skylight intensity of 1. For a Sunny/Cloudy day a value of 3.14 as Sun intensity works well and the Skylight intensity should be reduced a little in order to maintain a good contrast between light and shadow. If we have a little less clouds and more Sun a value of 4-5 for Sun would be ideal. For those burning deserts with a violent Sun a value of 7 does wonders.
But I strongly advice everyone not to go beyond 7 as it’s going to start making your materials look worse. It kills the all the surface detail specially details in roughness are already mostly lost at this light intensity. People often go over an intensity of 10-12 to get the look they want but that’s a mistake. Either texture’s don’t have the correct luminance (they were darker than they should’ve been) or you’re a victim of UE4’s Tonemapper. UE4’s Tonemapper clamps the whites so much that initially you’re having a washed out image. To prevent that you have to have a great knowledge about tonemapper to tweak the settings very carefully while maintaining both neat white and black levels, unfortunately I’m not much of a good lighter nor I have a great knowledge about Tonemapper settings. (It’s easy to tweak them and get the desired look, but it won’t be correct for all scenes if it’s not done properly) – (praising the lighters at DICE for their work), I choose a simpler solution here.
- Create an empty level.
- Remove pre-baked lighting.
- Add two cubes, one pure black and one pure white: BaseColor 0, Specular 0, Roughness 1 and BaseColor 1, Specular 0, Roughness 1.
- Add a directional light, set intensity value to 3.1415 (This value let’s you see the true surface color) more information here.
- PrintScreen, paste into Photoshop.
When I color pick the left cube the value is almost 0,0,0 but when I color pick the right cube the value is 209,209,209. I want my right cube to be somewhere between 245,245,245 to 255,255,255 while my left cube stays at 0,0,0 without having to touch the Tonemapper. What I do is to simply add a Brightness/Contrast adjustment layer and increase the brightness until the right cube reads the value I want when I color pick it. The left cube would be left at 0,0,0 just like I wanted. Now I can apply this brightness adjustment to the Color Lookup Table and save it out, load it in my Post Processing Volume and voila! My whites are back.
Now I’m using this Color Lookup Table for all my works. It’s not perfect, nor correct, but I’ll be keep doing this until I master my Tonemapping knowledge.
Example of this Color Lookup Table with Directional Light intensity of 3.14.
The guide was originally published on Polycount.