Filippo Romani shares his observations that might help archviz fans.
Check out this study of realistic interior lighting in Unreal Engine 4 by Filippo Romani. The artist shares tons of tips and tricks for archviz enthusiasts.
I recently delved into the study of realistic interior lighting in Unreal Engine 4, and after a couple of week of experiments I finally produced a satisfyingly realistic result, a screenshot of which you can see here:
Since a few people asked for a tutorial about how I achieved it, I decided to explain here the basic settings that stand at the foundation of the realism of the scene. To begin with, I’d like to give a disclaimer: I did not model anything of what you see, I only made the walls and floor materials, along with the lighting part.
This said, let’s start from the type of lights used.
Lights
The only lighting source is a directional light (the sun), combined with a skylight. On the other room (the screenshot of which I’ll be posting at the end) there are three point lights, one per lightbulb. All of the above mentioned are stationary, except for a dynamic spotlight that I needed to enable the subsurface scattering effects on the curtains.
Right from the beginning, my goal was to use the least amount of lights as possible. I believe that, although it’s harder to achieve the desired result in this way, using only lights that have a physical source in the scene (the sun and the lightbulbs) gives life to a much more believable scene. Fill lights should be used very very sparingly, as they make the scene flat and boring, other than less realistic.
I set the directional light strength to be only 1, as it looked the correct value for the sun coming in, and gave it some warmth with temperature:
Same for the point lights: a low value (40) and a source radius that realistically resembled the radius of a lightbulb.
Lightmass
Lightmass settings played a fundamental role. Performances were not my focal point, so I had some fun playing with high-end settings.
If you observe a room in real life, you’ll notice how the direct light coming from a window only hits a minor part of the whole surface, and yet manages to bright everything very clearly. It bugged me that a room in Unreal would be very dark even with a big aperture on the outside. I figured that indirect light wasn’t enough.
To overcome this problem, I cranked up to 100 the number of light bounces in world settings, and to 10 the quality of indirect lighting. With a high-quality value you can (and should) bring down the indirect lighting smoothness too. And there you have a nicely indirectly lit room.
Post-process volume
I got rid of most of the autoexposure. I don’t like it very much as I find it too drastic for my tastes, and it also caused the room appear to as too dark. I wanted the directly lit surfaces to shine, but not so much that whenever I watched it everything else became black.
To further bright the ambient, I tweaked the global postprocessing values. They change from scene to scene, so I would recommend to just play around with them until you reach the wanted result.
A tip I can give regarding this matter is to be very careful with saturation. I see a lot of works where everything is bright and eye-candy, but it’s not realistic. The same goes for contrast, so have fun, but keep a critical eye on the result.
The last thing I did was to disable bloom and lens flare. After that, I was ready to bake very high-res shadows (up to a resolution of 2048), and with the build with production quality, shadows fell into place with everything else.
Conclusion
There are many things I didn’t specify, as they are parameters and tweakings that change from scene to scene. The most important thing I learned with this experiment though, is what each setting does, and how to obtain a precise effect I want. That can only be achieved by experimenting yourself with the different aspects of light, and by dedicating some time to that specific purpose.
I hope this helped, and I’ll be very happy to answer questions and doubts you may have.
Filippo Romani, 3D artist
The article was originally published on Filippo’s personal blog.