Ue4 archviz lightmass settings


  • Table of contents
  • Wessel Huizenga: a Student Journey into Archviz
  • Lighting Companion: Lightmass World Settings in UE4
  • UE4 INTERIOR LIGHTING – PART 2 – LIGHTMASS BAKING
  • UE4 – Lighting calculation tips for Archviz
  • Hi, Stranger!
  • Table of contents

    He does this with his great looking, and mostly white, Berlin Flat scene as seen on the forums. Follow along as Lasse explains getting started with Unreal Engine 4. Enjoy it! It is specialized in high-quality emotive architecture and product visualization.

    The team at xoio consists of people who have an architecture and design background. That provides a strong understanding of creative processes and the ability to give support in questions of design. Introduction My name is Lasse Rode and I am part of studio xoio. We are a small agency specializing in visualization and illustration works for architecture and product marketing. We are constantly checking out new rendering engines and currently making big use of Corona Renderer , V-Ray and Octane.

    Each engine has its strengths and we always try to use it like that: each for the best purpose. In my eyes there have been several main trends within our industry: The strive for photo realism and becoming faster — if not real-time. Not having to wait for your rendering coming out of your render farm was always a dream for us — especially when rendering animations! This has changed rapidly. The results possible with real-time engines today are very beautiful and convincing!

    Why Unreal Engine? The release of UE4 gained a lot attention within our industry and the possibilities seemed to be endless. The PBR Physically Based Rendering material system and the easy-to-use importing pipeline for getting your models into the Unreal Engine was the most compelling reason for us to give it a try — in addition to the quality of output possible! If you have seen the work of Koola also available as a download in the Unreal Engine Marketplace which went viral some weeks ago — you are probably as convinced as we are that Unreal Engine 4 is capable of impressive quality.

    In the following article I want to give you an outline of the workflow I used to make the Berlin Flat scene you can download from the Marketplace and share some techniques and tricks I came across during the process.

    Some of them I found myself, while others are derived from information I found on the web. The Unreal Engine Forums and the Documentation are a vast and great resource, as are the starter content that comes with the engine and the assets and scenes you can get from the Marketplace.

    The Berlin Flat I made a series of images of this flat in a historic building in Berlin beginning of using 3ds Max with the Corona Renderer. This actually was also the reason for choosing it when giving UE4 a try. I noticed UE4 being very successfully used on scenes with gloomy lighting and busy textures. I suspected it to be not that easy to get precise shadow and GI within an ultra-white interior.

    And honestly: It is a tricky task! Above is one of the original renders done with 3ds Max and Corona Renderer. To have a look at the entire set, click here. Below is the UE4 video made with this scene… I will start from the beginning : The Original Scene The entire modelling was done in 3dsmax in a rush, so I actually detailed only the parts that are visible in the final images.

    This is an approach that of course is not possible in a real-time environment. Re-purposing the scene for use with Unreal Engine I had to reduce the scope a bit because furnishing and detailing the complete space would have taken too much time for testing purposes.

    I decided to export only two rooms : the ones you see on the lower part of the screenshot above. It makes sense to split things up a bit. Because the lightmass is calculated into a separate map for every object, it is good to be a bit careful with high values especially on big plain objects like walls and ceiling.

    Because of this I only exported the inner faces of the walls which we actually see. I also added a bit to the top and bottom of the walls to intersect them later with the ceilings. This is no problem when having a gloomy scene with lots of busy textures — but, since we are going to have an ultra-white space it is important to get as precise GI as possible, especially in the corners.

    In 3ds Max this would be UV-channel 2. Channel 1 is for use by all the other textures like diffuse, roughness, normal, etc. Unreal Engine counts the channels starting from 0, which can cause some confusion in the beginning — but once you get it, it is fairly simple. Note : Unwrapping is only important for the light-map channel!

    For the texture channel any kind of mapping can work, such as cubic or cylindrical mapping. For single objects like chairs and other assets it is very comfortable to export it only once and instance them in your Unreal Engine scene. Well, then you save your geometry as.

    I did it in several steps. I prepared different files that made sense : The geometry of the room in a separate fbx file. Different file for the assets, each with some objects in them. So this example of a shader is very simple, consisting of a diffuse map, desaturated and blended with black color. The same map then is color corrected and inverted to put into the roughness channel of the material. A normal map would have been too much here, but feel free to explore the materials for yourself in the scene!

    Here you see the wood material applied to the chairs and the table — a dark dyed wood with a crisp matte reflection revealing the wood structure and texture. In this image you see two more materials which might be of interest, the curtain which is back-lit by sunlight — a two sided material. The jar in the foreground has a very simple glass material applied : It has a fairly dark diffuse color, zero roughness and a high specular value.

    I also involved a Fresnel-node with a value of 1. One material I want to show here as well is the floor, because this one is the only one having a normal map applied. Here you see a material defined by a diffuse color, a roughness texture and a normal map. The diffuse color is a simple very light grey, defined by a 4-value constant. Roughness looks a bit more complex: On the left you see the same map three times scaled differently with a TexCoord node.

    The red channel of each then is multiplied with the others and then wired as an alpha into a Linear interpolation node Lerp to blend to values.

    Preparing the Assets Before dropping the assets into your scene it is always best to apply the materials onto them within the geometry editor. You would have to do it only once and still can apply different materials in the main scene if needed.

    This is a fast process: Here you see it is important to apply different Material-IDs to your objects to put the different materials where they belong! Building the scene Well, this is kind of brief, but: put the thing together. First you have to drag in the room geometry. Afterwards all the furniture and assets have to be placed in the environment. For this exact purpose it is also good to set the lightmap resolution for your larger objects to a high value, for the walls I set at for example.

    As mentioned above, light leaks can be an issue. To prevent these I put black boxes around the whole scene. It is rather effective and easy to control! To now calculate the global illumination only a few tweaks are important : I drastically increased the lighting bounces and the indirect lighting quality. I also decreased the smoothness to 0.

    I also set the direct lighting to a dynamic shadow for getting better shadows. This also is important to have the light moving later in the animation! This should result in a smooth lighting everywhere! Actually when getting to this point the first time I was kind of thrilled! This is actually the strongest part of this engine: to thrill you! This can be done with a PostProcessVolume for global settings.

    I did some tweaks on the saturation, fringing and vignette, the bloom and disabled the auto exposure by setting the min and max values to 1 and increased the overall brightness by setting the Exposure Bias to some 1. I also added a lens flare which I find really awesome happening in real time! Setting up the Animation The ability to move freely inside the scene makes doing animation a very easy and pleasing task because of the instant feedback nature of the real-time environment.

    As a frequent user of compositing software it took not much time for me to adapt to the integrated Matinee tool and set up an animation. First thing to do is setting up a Matinee Actor. When opening Matinee you will see a window with a track section and a curve editor. Setting up the cameras and animation work is very self-explanatory. Motion is controlled by key frames and curves just like any other animation software. I created a couple cameras moving slowly through the space: seeing exactly what you are doing really helps to tweak the timing of cuts and speed of camera movement!

    You can see the camera trajectories just in the editor and control the editing on the fly! AVI and fine-tuned it in Premiere and aligned it to the music. Conclusion The entire process starting at exporting from 3ds Max and importing into Unreal Engine 4 , working out the shading and lighting to produce the animation and then posting on YouTube took me about one day.

    This speed is unheard of in ArchVIZ and reflects very much the key potential that lies in the use of Unreal Engine 4 for visualization works. The fast feedback of your action is the real revolution! We are constantly thinking and testing the possibilities of applying this kind of production and workflow into our daily work and our environment as a whole.

    There are a lot of possible applications and we are very eager to explore them!

    Wessel Huizenga: a Student Journey into Archviz

    NumHemisphereSample As we can see, this parameter is responsible for eliminating some lighting problems. Lightmap Size Lightmap Size As we can see, there is little significant loss in the definition of the shadows. In a large-scale scene we will have to abdicate of perfect shades definitions for a render time optimization and also to optimize the project timing. These small glitches in the shadows will be not so perceptible in a scene in motion and therefore I consider valid we use lightmaps in low resolution in some cases.

    Setting Artificial lights on Unreal Engine 4 In some situations those parameter could not eliminate all artifacts of lighting, especially in areas where we have little lighting or areas where we will have artificial lights.

    For this we have to optimize other parameters. We will begin this scene by adding a few spotlights and point lights. This is because we have an insufficient photonstowards improving this calculation. If the maximum radius is set too high, large parts of the kd-tree will be searched to find the nearest n photons in sparse regions, only to result in a very low radiance and your scene will be too dark on the corners.

    This is a waste of computation time. If the radius is much too low, you will experience a lot of small lighting leaks and you will have to increase a lot of your IndirectPhotonDensity.

    Start with a large maximum radius and keep reducing it and rerender until artifacts become visible. We can get optimized render time lowering this value, however we will have to greatly increase the two previous values IndirectPhotonDensity and IndirectIrradiancePhotonDensity to prevent light leaks. After many tests I suggest using a value between and Check the whole process below: Conclusion We must begin to test the lighting only with the walls and the main static objects in the scene.

    The reason for this is the slow calculation of Lightmass. Still, we may experience some lighting problems. This is still an experimental documentation created by me and UE4Arch company and hopefully in the future there will be other ways to achieve better results and in less time. I hope this helps other Archviz professionals migrating to Unreal Engine 4 and maybe some game creators too.

    Lighting Companion: Lightmass World Settings in UE4

    This is a case which requires manual editing in your 3d modeling app. Optimizing Draw Calls The draw calls are at right now.

    UE4 INTERIOR LIGHTING – PART 2 – LIGHTMASS BAKING

    The documentation provides methods on how to reduce this number. In our case, the best way is to minimize the number of materials, create texture atlasesand combine different objects. In other ArchViz levels withmultiple rooms, proper visibility and occlusion culling is the way to go. Optimizing Shader Complexity The shader complexity viewport mode allows you to quickly spot the performance impact of certain shaders.

    Below, you can see that the glass materials are the most expensive.

    UE4 – Lighting calculation tips for Archviz

    Difference in forward shading. A quick look at the master material reveals room for optimization. We can remove all the nodes related to ray tracing. A word of advice. A lot of developers have experienced issues when setting up Android SDK and NDK because the environment variables are not set properly.

    Check out this tutorial by Code Prof which works for UE 4. Once our ArchViz app is running, we can use this tool to answer basic questions: Do we have a consistent 72 fps? High numbers signal room for optimization. To Be Continued… This post is incomplete due to ongoing projects I have right now. I will try to finish this guide when I have the time.

    I plan to talk more about the following topics: Foliage. These small glitches in the shadows will be not so perceptible in a scene in motion and therefore I consider valid we use lightmaps in low resolution in some cases. Setting Artificial lights on Unreal Engine 4 In some situations those parameter could not eliminate all artifacts of lighting, especially in areas where we have little lighting or areas where we will have artificial lights.

    For this we have to optimize other parameters. We will begin this scene by adding a few spotlights and point lights. This is because we have an insufficient photonstowards improving this calculation. If the maximum radius is set too high, large parts of the kd-tree will be searched to find the nearest n photons in sparse regions, only to result in a very low radiance and your scene will be too dark on the corners.

    Hi, Stranger!

    If the maximum radius is set too high, large parts of the kd-tree will be searched to find the nearest n photons in sparse regions, only to result in a very low radiance and your scene will be too dark on the corners. This is a waste of computation time. If the radius is much too low, you will experience a lot of small lighting leaks and you will have to increase a lot of your IndirectPhotonDensity. Start with a large maximum radius and keep reducing it and rerender until artifacts become visible.

    After many tests I suggest using a value between and Check the whole process below: Conclusion We must begin to test the lighting only with the walls and the main static objects in the scene.


    thoughts on “Ue4 archviz lightmass settings

    Leave a Reply

    Your email address will not be published. Required fields are marked *