Blender: Converting scene from Cycles to Eevee

Michal Franczak 2019-07-31 09:22 tutorial  > Blender  > modeling

From pathtracing to realtime in a few steps.

Today we are converting Blender Cycles scene to Eevee. We did that once before, but today scene is trickier than the last one. The scene comes from Archinteriors vol. 43 for Blender and it was made using various software. Models come from 3ds Max, textures from Substance Painter. Scene is set for Cycles. But what if we want it to be rendered in realtime render engine Eevee, that debuted with Blender 2.80 today (31.07.2019)?. Could be great or terrible, let's find out.

First, let's look at Cycles render:

AI043 002 1

It's a render of a kitchen. Interior is lit by HDRI.

 

hdri 2

HDRI map.

 

 

01 13

Interior view from camera in Blender viewport. All stuff is not organized in Collections, because the scene was prepared for Blender 2.79 which didn't have this functionality, let's change this...

 

02 12

I sorted all assets into separate collections, so I am able to work faster in rendered view (Viewport is less laggy) during testing my lighting. I moved glass windows into separate layer and disabled them, because I don't think that glass plays crucial role in this scenario and it surealy would require more computing power to render. We can always enable glass and refraction later.

 

slice1 24

First, we need to change our render engine. We choose "Eevee" from drop down menu in render tab. We use default sampling settings: 16 for viewport and 64 for final render. Below sampling settings we have our Ambient Occlusion settings. I cranked up the value to 3 by manualy overriding it. I use maximum trace precision. Ambient Occlusion plays great role in creating believable output in Eevee.

 

slice2 24

I used minimal amount of Bloom - I don't like too "dreamy" look that can be found on many arch-viz renders, where post-processing fx is overdone. So I am adding just a bit of bloom.

 

slice3 23

Realistic reflections in realtime is a hard thing to achieve. Realtime engines don't trace rays for that, they use fake solutions. One of them is Screen space reflections effect. It gives some glossiness to the scene and generally is quite capable of faking this look, although it is not physically correct. I tweaked settings in this panel: disabled "half res trace" to achieve better reflections quality. I Increased Trace Precision to 1 also.

 

slice4 23

Shadows in Eevee are epsecially tricky. Not every light source can cast them. Not every method gives good result, there are many shadow types and some settings are controlled from Render tab and some from Light tab. Eevee is liable to light leaks which destroy realism. In this scenario I used VSM method for creating shadows, I used high bit-depth shadows and checked "Soft shadows" box. I increased Cascade and cube size to 2k (2048). and then I created my Sun and continued tweaking on Sun tab.

 

sun 01 1

I wanted my sun to be aligned with HDRI image, so I created new camera and pointed it into sun visible on HDRI map, created sun lamp in the center of "HDRI sun" and then I aligned camera to have more or less the same rotation as my interior camera and rotated the sun so it was pointing directly into camera.

 

sun 02 1

My sun lamp (dark circle) is placed directly in the place of white sun image from HDRI and then it is rotated to point into camera.

 

nr 01774 Untitled

Global light is provided by HDRI. There is a tricky thing in it: it does not cast shadows, it lits everything equally. So it's good for creating some kind of ambience light, but it can get unrealistic very fast, when set to high power value. I turned value down to .5 in this case.

 

indirect

Since we only have shadows from Sun and Ambient Occlusion, we need to improve realism of our scene. I decided to use irradiance light probes to make light transitions more subtle in the interior. I created light probe and scaled it to cover the area visible for the camera. I increased the number of probes a bit.

 

slice5 23

Those are my indirect light settings. The only change I introuced here is Cubemap size setting - I increased it from 512 px to 1024 px.

 

cubemap

I placed two cubemaps in the scene. One would probably be enough in such small space. Cubemaps are used for reflections and they result is similar to Screen space reflections.

 

pp 1

After rendering my image I made a slight color correction to make it more "warm" in tone.

 

So, was it all worth it? Well, sort of! The look is not bad, but definetely not as good as path-traced. And it has it's own artifacts.

 

nr 01775 eevee_02_pp

Eevee render. Some things that you will notice:

  • shadows are not similar to Cycles shadows. The reason is that softening the shadows in this scene caused really nasty light leaks that ruined the image. Decreasing softness got rid of most of the artifacts but also altered the look. We could probably find a workaround by making thicker geometry of walls, but I wanted to make fast conversion, no full-time remake.
  • ambient occlussion is a bit too strong in some areas. But it gives a good amount of realism in others. Probably we would need to have it as another pass and erase it from some areas.
  • there is an ugly artifact top of the right window. Yes, nothing could be done about that in a fast way. 
  • reflections in the oven window are not too great either. Probably moving Reflection sphere would help to achieve better result.

 

So, what is the verdict?

 

nr 01776 Untitled

 

We could continue to tweak the scene, play with geometry and increase resolution of indirect lighting and we would probably got slightly better result, but the amount of work compared to effect is not worth it in my opinion. We could achieve much better results by porting this scene to Unreal Engine 4 (and it would be faster too). For now, Eevee is a great engine for previewing models and scenes but not too great when it comes to final interior renderings. At least - not in each case, because sometimes it's perfectly enough!

Hope you find this tutorial informative, have fun and happy rendering!

 
 
Author: Michal Franczak Editor: Michał Franczak
Tags: rendering blender eevee realtime realtime eevee rendering conversion conversion
You may also like...
5 useful Blender tips

5 useful Blender tips

In this tutorial Kamil from Evermotion presents you 5 useful Blender tips.
×

LEAVE A COMMENT

You need to be logged in to leave a comment. Don't have account? Register now.
suguna pest control12:49:53  |  02-08-2019
<a href="https://sugunapestcontrol.in/">Thinks you have shared is really useful. Thanks for sharing.</a>
pestrid12:52:54  |  02-08-2019
<a href="http://www.pestrid.in/">That’s a very great post. The Article is Awesome to read. Thanks for sharing with us your Post. Very good information.</a>
Tamilnadu Pest Control12:54:08  |  02-08-2019
I have been reading your articles and they are really very helpful for me. Thanks for sharing with us your Post. Very good information. Looking for Pest control Service in Chennai then contact us right now. We provide simple and quick Eco-friendly pest control in Chennai to eradicate pests which are not harmful for humans. tamilnadupestcontrol.com
Bahrudeen Vs Ahamed10:46:09  |  17-08-2019
There’s a lot of folks that I think would enjoy your content. Please let me know. Thank you. https://www.slajobs.com/android-training-in-chennai/

+ ADD A COMMENT

  • ul. Przedzalniana 8, 15-688 Bialystok, POLAND