We made this project to show how we would approach an interior visualization of an apartment. To make the whole thing more challenging and interesting, we tried to show different periods of the day so we could experiment with reaction of the materials to the different lighting situations. The most time-consuming part was the post production, because it was primarily in that time, when we decided on the final style for visualization. In the end we settled with yellow/orange colors for the lights and the ground and as a contrast the blue wall and some green vegetation. Right from the beginning on it was important to get a real sense for the layout and the dimensions, therefore we stood in continuous contact with the friendly architect Bernhard Ortlieb for the whole duration of the project. This overview demonstrates the way from modeling over light setup and materials to rendering and finally post production. Feel free to spend some time in the gallery and enjoy this overview.
Apartment: The modeling of the room was very fast, because it is just made of:
All this elements were built by box-modeling. We added some details like an edge of stucco, drapes, doorhandles, some modeled lights for the balcony, above the picture and also in the inset for the bottles.
Parts of the furniture are from our archives, were we store finished stuff for the use in later projects. The couch and the armchair are examples for that. Some other furniture-parts like the coffee table and the side tables were especially made for this scene. We started to build them with box-modeling techniques and with some modifiers like shell, push, etc to add more volume and details. To have a nice reflection, especially in animation, we added beveled edges. Some of the accessories are also from our library. We have become accustomed to storing every piece we used in any project, that seems to be reusable. By doing that, we grew a nice archive of small and large pieces for every possible occasion. Filling up a room with small details became pretty easy over the time. This helped greatly to reduce the production times. Other details like the wine glasses were made for this project utilizing spline-modeling techniques. The carpet is just a plane with hair and fur and the vegetation is also made from modified models from our library.
Usually we just take simple planes for the window glasses, but in this project there was often the need to hide them in some passes. Because of that we connected the points of the plane to make it easier to see and select them. You could immediately tell whether they are hidden or not without having to look into some object properties or menus.
We used two different systems of illumination for the light setup:
Hint: For the illumination and the reflection of the background we created two separate light sources. Both of them have the same HDRI, but by separating them, it is possible to have more control about these two types of rays. This was our attempt to emulate the possibilities that the use of a Raytypeswitcher in the background offers you in mental ray.
Layers We knew right from the beginning that we had to create a lot of materials for the scene. That´s why we split it up into two separate geometry layers:
For every geometry layer we also created a tab in the material editor. This is very helpful if you have to take a look into your scene a few months later. You always know, where you have to search. It also makes interchanging the scene between different artists much more convenient. It is generally a good idea to clean up your scenes after each production step to get rid of unnecessary stuff that clutters up your RAM and makes working on the scene slower and slower.
The materials in the scene are not very complicated, but there are a lot of them. Nearly every material consists of a diffuse, a bump and a reflection map. Most of the time there is a falloff map in the reflection slot, which creates less reflection on the sides than on the front. To increase the level of realism (and also the render time 🙂 ) the materials often have glossy reflections. That also created a nice effect at animation when the camera moved closer and closer to a reflecting object or along its surface.
Switcher between day and night
For the background we developed a slider in zookeeper (great plug-in for 3ds Max), where we can easily switch between day and night. For the blend materials of the dome light and the background we connected the Bezier float value, which turns from zero to one (night and day). We also connected the slider to the lights, so they turn on and off depending on the value of the slider. Changing the time of day was by then just the mere flick of one switch.
For the materials we often set a lower amount of reflection like they would have in reality, because we render out a raw reflection render element and screen that in during post production for important objects. There are two reasons for doing it that way:
Another tip is to set a very low amount of reflection for every object that might need it. If this object is not reflecting in real, we set the value to 0.01%. The convenience is that in the post we can blur and maybe color the reflection of the object and use it to create additional specular effects. For example for materials like silk it is much easier than to try to find the right values and maps in the material editor. It does increase the render time but it is still much less time then searching and experimenting for complex materials that work the way you want them and also create the desired look in the final image.
Render Pass Manager:
Blessedly we could use Grant Adam´s RPManager for that project. With this plug-in it is possible to save different settings for the scene in passes. The first and second pass for this scene were the calculations of light cache and irradiance map, without actually rendering the beauty picture. For more information about this method, please read the chapter “Render Settings (especially light cache and irradiance map)”. The third pass is the beauty pass which loads the light cache and irradiance map data and renders out the final picture together with some render elements like lighting, global illumination and raw reflection. These render elements are very important when you want to experiment with the final look during post production. For example, we were able to increase the sunny summer look of the picture by simply screening in the lighting element some more. The beauty pass also has a render element called “Multimatte”, which creates a mask of objects, which can be manually selected (in that case the glass, because was hidden in the ao-falloff-pass, where we usually render the masks in). The fourth pass is a rendering of the scene completely without lights and camera exposure and an override with a falloff material. This is good to be able to make some color corrections that affect the sides of objects. By doing so you can create effects of roughness or effect lacquer. This pass also renders an element called “VRayExtraTex” which allows us to load a map (in that case an ambient occlusion map). Additionally we also rendered an element for the ZDepth and elements for the masks. Because the glass is hidden in that pass, it is possible to render masks for objects which are usually occluded by it.
Render Settings (especially light cache and irradiance map):
For the animation of this project we decided to calculate the light cache and the irradiance map in separate passes to load them into the beauty pass. The advantage over calculating them directly with the beauty pass is that only one frame has to be calculated. By using the option “use camera path”, it is possible to generate the map in the first frame and VRay will calculate the rays of the whole movement of the camera in the active timeline. The results can then be used together with the light cache results to render out the beauty images with multiple different machines, that only have to look up the illumination data. By doing it that way, you can make sure to have a convenient result without major splotches or flicker. Another option for the irradiance map would be to calculate the map by “add to current map” every 10 frames, but the single-frame-method is faster and offers better results if there is only little animation in the scene like noisy movement of the drapes and plants. It is really important to set the “distance threshold” to a higher value like 0.3 when using this method in conjunction with small object animations. At the beginning we had the problem that the samples of the GI on the ceiling were too big. At first we tried to increase the samples and subdivisions of the irradiance map, but after some tests and the realization, that this needs too much render time, we decided to go with another method. So we went on and increased the subdivisions of the light cache, because we thought that the floor was mostly illuminated by the second rays and thus increasing the resolution of the light cache would minimize the splotches. Actually this didn’t change a lot in that area but we had better results in small corners or under the couch(that´s why the subdivisions of the light cache were left at 2000 – the calculation of it still finished in only half an hour per scene). At the end we found the solution by merging the irradiance maps of every scene to one map. Usually objects, which have big planar areas, receive not a lot of samples. So we calculated an irradiance map for a direct look at the ceiling with high settings and merged it into our existing irradiance map. At the end our irradiance map had a size of 1 GByte, but it was worth it, because now we had almost no visible sampling problems on the ceiling.
First part of the post production: selective work in Fusion:
The first step of the post production was accomplished in Eyeon Fusion. The idea of this step was to match the contrast and colors for all objects to roughly one level, so the picture gets a uniform impression (One example: the chrome objects were way too bright and had no contrast). Usually we just render out masks for special parts like the ground, ceiling or couch, but this project was supposed to be a test balloon. First we tried to have masks created by object´IDs from the G-Buffer of the exr-file in combination with the coverage channel. It is a good possibility because you are able to select the Objects in Fusion directly by using the picker. But then we noticed that this way is too tedious because you have to merge the object ID with the coverage channel for every object before plugging that result as a mask into an image processing node like a color corrector. Most of the time it is much faster to just render out and use masks as filtered multi mattes. To have the possibility to change color, effect of ambient occlusion, contrast and so forth for every object we decided to render out 16 multimatte elements. Every multimatte can hold masks for three objects, one in each color channel, so we had nearly 48 masks in the end. One the one hand it is beneficial to be able to change every object but on the other hand it needs quite a lot of time, because for color correction, ambient occlusion and falloff and maybe reflection you have to set a node for every object. If you have 16 multimattes and make four changes for each of them, the result are 64 nodes you have to create and control. The next picture is a screenshot of the final tree in fusion. Inside the blue rectangle are the beauty pictures and the render elements like reflection, refraction, ao and falloff which were loaded to form the start of the composition. In the red rectangle are the loaders of all multimattes and the green one holds the color correction nodes of all objects. The blueish green rectangle summarizes the additional reflections for some objects and the purple one is for the color corrections that use the falloff element as their mask. In the area of the white rectangle are the settings for the ambient occlusion effect for the separate objects. This is much better than to just multiply the ambient occlusion over the whole picture, because some parts may need it more than others. You have to use the ambient occlusion effect with caution, because overdoing it can result in an unrealistically dirty and dark picture. The black rectangle is the last one and holds the nodes for saving the final pictures. This tree looks pretty big but only because we used so many masks. It was a good experience to have the possibility to change almost every single object but it isn’t essential for creating a good picture.
This picture shows a comparison of the room before and after using fusion. The difference is just subtle, but it is now possible to set the look from completely cloudy to sunny day without new rendering, just by using the lighting and global illumination render elements.
Second part of the post production: corrections of the whole image in After Effects:
The second and most intensive part happened in After Effects with the plug-ins Magic Bullet Looks and Frischluft Lenscare. It was primarily in that state of the project that we set the final look of the visualization. With Looks it is possible to bring the picture to a high end color finish by using exposure, gradient, glows, vignetation, color curves, saturation and a lot of more features in a very natural and fun way. By using the tools in different areas like subject, matte, lens, camera and post you can reach different results in minutes. A big plus of looks are the presets, which help to quickly try some rough concepts before working everything out in detail. For this project we used a lot of spot exposure, for example to light, shade or color different areas of the picture (e.g. we set the wall to a cool blue color and the floor to a warm yellowish orange one). Additionally we often used a gradient (mostly from top to bottom or from corner to corner) to set the focus in the picture. A tool that we use at almost every occasion is glow (diffusion) to give a stronger but at the same time softer sense of the sun´s energy. To improve a bit on the realistic look of the picture, we started to include some camera errors like chromatic aberration, vignetting and some edge softness. At the end we set the final look by using a color curve to strengthen the contrast. For this project we also used some color curves to increase the blue colors and decrease the red ones to give the whole image a more specific, movie-like look.
To make a picture more pleasant and interesting, the use of depth of field is a good thing. It helps to guide the viewer´s eye through the picture and let it rest on areas you want to emphasize. If you want to show some special part in the background, you can blur the foreground or vice versa. To reinforce this, you can also play with the brightness and contrast of those areas. Things you want to highlight can be the bright ones in a mostly dark and blurry environment. That helps to make them stand out more. For the depth of field effect we used the plug-in Lenscare by Frischluft. Lenscare is one of the best tools for this kind of effect. You can set the sharp and blurred areas by using the ZDepth render element and adjust the intensity primarily in the post and almost in real-time. It helps to save a huge amount of render time and makes experimenting way more fun. It gets a bit complicated when you got transparent layers inside of your image. We accidentally ran into that problems because of our transparent balustrade around the balcony. The glass was active in the ZDepth layer and thus we were not really able to create a convincing blur for the areas of the background, that were occluded by the glass. Fortunately, this mistake is not very noticeable and we will definitely keep that in mind for later productions.
The next picture shows a comparison of the room at late noon before and after using Looks and Lenscare.
The following picture shows a comparison of the room at evening without artificial lighting before and after using Looks and Lenscare.
The following picture shows a comparison of the room at evening with artificial lighting before and after using Looks and Lenscare.
This is the end of the project overview for the apartment and it was a pleasure for us to show you a bit of our workflow. We hope you had fun while reading the text and looking to the pictures. To see more of our projects, visit our Showroom.