In accordance with the art. 13 section 1 and 2 of the European Parliament and Council Regulation 2016/679 of the 27th April, 2016 on the protection of natural persons, with regard to the processing of personal data and on the free movement of such data, and repealing Directive 95/46/EC (General Data Protection Regulation), hereafter RODO, I hereby inform that:
1. EVERMOTION S.C., 8 Przędzalniana Str., 15-688 Białystok, Poland is the Administrator of your Personal Data (APD)
2. Data Protection Inspector can be reached through e-mail: iod@evermotion.org
3. Your personal data are to be processed on the basis of art. 6 section 1 letter a, b and f of RODO in order to:
a) prepare, conclude and execute the agreement and for other purposes approved by you,
b) to execute the legitimate interest like marketing of products and the agreement, claim assertion or defence against claims resulting from the law regulations.
4. Entities entitled to the reception of your personal data may be the authorised public bodies; mail providers; providers of the services covered by the agreement; responsible for debt recovery, keeping the archives, document utilization, legal consulting, technical services, IT services and accountancy.
5. Your personal data shall not be transferred to the third country, nor to the international bodies.
6. Your personal data shall be processed within the period of the agreement and upon your additional consent until you withdraw it. APD shall keep the data for the period of any civil law claim execution connected with the agreement.
7. You have the right to demand an access to your personal data, to correct or to delete the data if there is no other basis for the processing or any other purpose of such processing or to limit the processing of the data, to transfer the data to another administrator and to raise objections to the further data processing if there is no legal basis for further processing and to withdraw any previous consent.
8. You provide the personal data voluntarily, however they are necessary to conclude the agreement. The refusal of providing such data may result in the refusal of the agreement conclusion.
9. You have the right to lodge a complaint to the Personal Data Protection Office when in your opinion the data processing violates the regulations of General Data Protection Regulation of the 27 April, 2016 (RODO).
10. Your data will be automatically processed, including the form of profiling.
11. You are obligated to forward above mentioned information to your representative, especially if you appointed this person in the agreement as the contact person or as the representative for the agreement execution.
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:
It's a render of a kitchen. Interior is lit by HDRI.
HDRI map.
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...
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Eevee render. Some things that you will notice:
So, what is the verdict?
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!
LEAVE A COMMENT
COMMENTS