Jeryce Dianingana shared his thoughts on building enhanced realistic scenes in Unity 5.
Testing Out The Lighting in Unity
I’ve always wanted to reproduce a real lighting from a real environment, so I tried at first to take real picture in my city, apartment but I’m not a good photograph, so I went to Pinterest, I love this website, it is one of the best for me for finding reference. I was searching for a quick scene, I didn’t wanted to spend many time on modelisation, and I fell in this picture “ Abandoned Chicago Hospital” taken by Jordan Nicolette I think, you can find the source of every picture on Pinterest.
I picked a lot of references from Tom Clancy’s The Division too, I like how they managed to have this realistic render, those soft dynamic volumetric lights and understandable scene with all these assets in the camera.
The Lighting Positioning
I tried to match the reference’s lights as much as possible.
I did many tests on the blockout to find the perfect position, the placement of the doors was tricky at first because it can change the lighting a lot.
I got 3 dynamic point lights, one near the glass on the left, the second near the table and the last one in front of the elevator doors.
These point lights helped me to get a nice dynamic specular that I can’t have with the baked one on the objects.
I put the major spot baked lights near the doors, It was hard at the beginning to have the same look, and approximately the same intensity, bounce and other light settings for the same feel as the photo, the main difficulty was to keep some zone dark and other bright without moving the spot or adding one because this can make a big difference comparing with the main reference.
Since the 5.4 Unity added the “Denoising” for the final gather which smartly reduces any noise produced by the static lights. I always use it when I do my final bake, take care when you activate the Final gather it costs more time to calculate.
I used Sky Ambient Color in Realtime to warm up the scene and avoid some issue with zone to much contrasted, thanks to Enlighten I can see the bounces of lights in realtime.
I baked the Light probes to illuminate the little dynamic objects like the bottle, newspapers on the floor to add some details on the scene. It’s an easy way to put objects in the scene without the bake to finish.
The new post-processing stack helped me a lot to get closer to the reference. Personally I can’t do a scene without it anymore, very simple to import, to use and you can have different Post processing profile, before that, I used to duplicate cameras and save as a prefab to have different settings.
The next version of Unity (5.6) will have a Progressive Lightmapper and a complete new way to use the lights in Unity called Light Modes.
I created the material with Substance Designer, I kept all the “Base Color” parameters in Unity to be able to change in realtime the color of each material to see the result after the Lightmap. I also got a big rules with base color.
I always try to stay between sRGB 20 – 230 to avoid big bounces of lights.
The water material was very important too, made a substance where I can tweak the amount, position, contrast of the puddles and transparency, I blended this material with my Lino floor.
I used the Uber shader for the material Blend and the parallax occlusion mapping on the ceiling
The only advice I can give is to avoid noisiness on your texture, for example by having a strong normal map, or a lot of data on your texture, and sharp edges. By sharp edges I’m talking about trying to have a nice little chamfer on your 3D Mesh or a Baked normal not to sharp to have a nice light on the edge.
Light or Polygons
I’m always saying that it’s not a matter of polygons but more of lighting, composition, and texture, thanks to Allegorithmic and Quixel it’s Pretty Simple to have a good looking material.
Post processing is very important too, the ScreenSpace Reflection effect help a lot I don’t think my scene would be credible without it.
In the color grading, I used the Filmic (ACES) , I love how it easily contrast the scene and enhance the rays of light.
Like I said before, Bevels are very important, you can see it in all man-made objects, it prevent issue with Aliasing too.
Change your project in linear color space, it gives more realistic rendering than working in gamma color.
Unity has some nice video tutorials on their youtube channel and a great documentation that explained everything.