Unreal Engine 4 Berlin Flat by XOIO
Originally created as an example scene for Corona renderer, converted to Unreal Engine 4 with Lightmass, Xoio’ Berlin Flat scene is featured this time on the proving grounds of Unreal Engine 4′ Real-Time Global Illumination. NVIDIA VXGI takes on the challenge of trying to rival Lightmass its stunning quality. Will it deliver or are we looking at a major fail?
Simple. Try to convert the scene for rendering with VXGI with as little alterations as possible to any aspect of the original whilst trying to match the available references as closely as possible.
Xoio‘ Berlin Flat example was not made with VXGI in mind. That much becomes clear upon the first exploration of the scene’ geometry, materials and lighting. With 2 bounce cards outside the windows being lit by spotlights and a single directional light, we’re switching the cards for planes with a self-illuminating material. The façade of the model is made out of single sided polygons and we’ll have to put some simple rectangles here and there to give it a bit of thickness in order not to have light leaks from the emissive material. The materials in the scene are very simple. Most come with a basic diffuse color, a rudimentary roughness setup and if we’re lucky we see the odd normalmap. XOIO knows how to go ‘less is more’! Done. Seems we’re ready for our first renders?
We run into all kinds of issues. Using any type of SSAO quickly goes out the window because it conflicts way too heavily with the scene its very subtle and delicate lighting we’re so desperately trying to match. VXGI also struggles and has to be extensively tweaked in order not to over-occlude or create too broad contact shadows. When we’re on the mark, we find there’s now floating chairs and other items on the nice white floor. Hmph, this isn’t the walk in the park I’d imagine it to be. After 2 hours of trying different setups, it seems the only way to get out of this minefield is to accept a limited amount of cheating.
Yes we cheat. Why is this such a big deal? At this point you could simply argue the test is a fail. VXGI can not rival Lightmass. No, of course it can’t. We never set out with the expectation it could produce a perfect match. But we want to come close. Real close. It’s very easy to approximate. A lot harder to really tweak for those little differences. So what about those cheats? Well, in the end we use decals underneath the chairs to help ground them. Note that grounding thin geometry is notoriously difficult with Real-Time lighting only. Even Lightmass struggles on default values. Apart from this change we also need to make some minor adjustments to the exposure settings. The latter is necessary for the simple fact we are working with 2 bounces only.
Do we come close? I’m not sure. Again, this was quite difficult. Given the time we had to work with (a few hours), the results are encouraging. I’m still missing something. A feeling it could have been better if, if, if…But for this test I specifically wanted to let the materials and lighting be as much as I could afford. As such I also limited myself in the possibilities of achieving the maximum result. Below some images. You guys be the final judges 😉
You might notice a different ending to the original. I accidentally threw away the last clip. Oops. The original scene is slightly different than the one provided for Unreal Engine 4 as well. Some materials differ a tiny bit too. Nothing major. I’m unsure whether XOIO applied additional post-processing to the original. I didn’t to the VXGI version.
Many thanks to XOIO for making this excellent scene available to the Unreal Engine community.
How/What/When? Fire away in the comment section just below!