Exposure Control | Tips & Tricks | Unreal Engine

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
>> Welcome to another Unreal Tips and Tricks. In this episode we'll discuss the exposure controls available in Unreal Engine, which will allow us to adjust exposure using settings that accurately mimic real-world cameras. Before we dive into those settings, let's take a quick look at how exposure values are determined. Exposure is simply the amount of time that light is allowed to hit the sensor or film back of the camera and it controls how dark or bright the final image is. Exposure is calculated using two values, shutter speed and f-stop or aperture diameter. Shutter speed is simply the length of time in seconds that the shutter stays open. The longer it's open, the brighter the image will be, but it will also produce more motion blur. F-stop determines how wide the aperture is opened. The wider the aperture, the more light is allowed in, and thus again, a brighter image will be produced. Keep in mind that lower f-stop values represent wider aperture openings, how wide the aperture is open will also affect the depth of field of your images and finally, ISO represents the sensitivity of your film or sensor. Most cameras have a base ISO of 100 and this is usually the best setting to use. Higher ISO values can brighten the image, but they'll also cause more film grain to be noticed. Now that we've got a basic understanding of exposure, let's jump into Unreal Engine. The first thing we need to do is take a look at the Exposure Settings in our Project Settings. You'll find these under Engine, Rendering. Then scroll down to the Default rollout. First up, we have Auto Exposure or eye adaptation controls. We can enable or disable Auto Exposure and change the method used for the entire project here. Below this is an option that allows us to extend the range of luminance available for the minimum and maximum exposure values. And finally, Pre-Exposure will apply exposure in the shaders before the scene color is written. This option can help improve the quality of basic auto exposure. Changing these options will require a restart of the Engine and once it's restarted, shaders will likely need to be recompiled for the project, which can take a bit of time. To use the exposure controls we'll either need a Camera or a Post-Process Volume added to the scene. In this example, we'll be working with a post-process volume. Be sure to set it to Unbound so that the effect is applied whether we are inside the Volume or not. We'll find the exposure settings on the volume under the Lens rollout. We'll open both Exposure and Camera as we'll be working with both. Before we do though, let's take a look at the viewport exposure controls. You'll find these on the viewport view modes button at the bottom under exposure. Game Settings tells the viewport to use the exposure settings as defined in the post-process volume or camera being used. Turning this off will instead allow us to tweak the exposure value using a simple slider. Keep in mind that this is only a preview option for the viewport. The setting of EV100 refers to an exposure value using an ISO or film sensitivity of 100. The lower the exposure value, the brighter the image will be. Conversely, higher EVs produced darker images. Remember the EV represents the F-stop and shutter speed. An EV of zero represents an F-stop of one or a wide-open aperture and a shutter speed of one second, producing a bright image as more light is allowed in over a longer period. Some other example of EVs include an EV of five to seven for a typical home interior, seven or eight for a typical office space, and finally 15 for a typical outdoor sunny day. Let's go ahead and return to Game Settings now and discuss the options available to us in the Post-Process Volume. Under Exposure, the first option we have is Metering Mode. This gives us a drop down with three different selections. The first one is Auto Exposure Histogram. The Auto Exposure Histogram option gives us access to a lot of advanced settings allowing us to really fine tune the exposure here. A histogram essentially is just a bar graph that represents the frequency of values in this case exposure values. Below this we have Auto Exposure Basic. Selecting it is going to turn off the advanced options and allows for a quicker, simpler way to adjust exposure. And then finally we have Manual which will disable all of these settings and just give us controls using the cameras, shutter speed, ISO, and f-stop. And as you can see at the current settings, the scene gets very dark. Let's go ahead and jump back up however to the Auto Exposure Histogram. Next up, we have Exposure Compensation. We have a text entry field as well as Exposure Compensation Curve here. The curve is beyond the scope of this tips and tricks so we're going to skip over that for now, but the Exposure Compensation field here will allow us to use a logarithmic adjustment to tweak the exposure values. Of course, generally you want to use this setting last, but for now we're going to go ahead and look at that, how it works. If I put in a value of negative one, that's going to make the scene twice as dark because remember this is logarithmic. For instance, if I put in a value of negative two then the scene is now four times darker than it was and conversely, putting in a value of one; positive one, is going to make the scene twice as bright, but we'll leave that at a value of zero for now and use no compensation. Next step we have the Min and Max EV100 values. Now normally these are Min and Max Brightness, but remember at the beginning we went into the Project Settings and we enabled the Extend Default Luminance Range option which changes these options to Min and Max EV100. For a minimum EV100 we want to find a dark area such as this closet and it will adjust this value here. You can see as I bring the value up higher, the scene will get darker, and for controlling max EV100, you'll want to find a bright area and it adjust it from here. And you can see as I bring this value down, the scene is going to get much brighter. In the Unreal documentation, it recommends keeping these values close to zero for the best effect. And generally, you want to keep them in the positive range. Next up we have Speed Up and Speed Down. These control how long it takes the camera to adjust when moving from a bright area to a dark area and vice versa. Speed Up controls moving from a dark area to a light area and generally that takes longer for your eye to adjust. So, this takes three seconds, and then Speed Down controls moving from a light area to a dark area. Let's look at the visualization tool we have available to us in the viewport. If we go up to the Show button here and then go down to Visualize, we can enable HDR Eye Adaptation. This is going to give us the information that we're currently using here in our Post-Process Volume as far as all the exposure settings, we also have a picture in picture here showing us a color-coded representation of the exposure values. Green represents mid-tone values and then blue represents your darker values. We don't have any red values in the scene here, but if we did, they would represent the brightest values. Anything overblown basically. And then below this we have a histogram. Remember a histogram is just a bar graph that represents the frequency of certain values and in this case those values are our exposure values. So, on the far left here we have an exposure value of -10. That is our minimum exposure value currently defined in the Advanced options for our auto exposure histogram. If you look down here, you'll see Histogram Min EV100 -10. So, if we change this to say -5, you can see now the histogram has been adjusted. Likewise, on the top here, if we unselect our Post-Process Volume, we'll be able to see that it is set to a value of 20. We'll go back to our Post-Process Volume and Histogram Max EV100 we'll change that to a value of 10. Now in the center here, this white line represents our current exposure value and of course the bar graph here represents all the different exposure values in the scene. So, as we move our viewport around, we can see those bars are changing based on the information being displayed at the time. So, at the current Speed Up and Speed Down settings, if I look towards a darker area, you can see how long it takes for the adjustment to occur and to bring us to the current level of exposure. And if I go back to a brighter area, you can see it happens much quicker. So, to change that, I'm going to reduce the Speed Down to a much lower value here, to 0.1, which is going to adjust that speed by a factor of 10. And so, if I look at the dark area now you can see it's taking a lot longer, 10 times as long to adjust the relative exposure to match the exposure that it should be at. Under Advanced we'll also find Low and High Percent. These two values represent a range of luminance values taken from the scene or from the histogram. These values are then averaged together to determine the current luminance value. The Unreal documentation generally recommends keeping these between 70 and 90% so we'll go ahead and leave these at the default values. Put simply, the auto exposure system works by first determining the average luminance value using the low and high percentage. From here, the eye adaptation takes place using that current luminance value, and the eye adaptation will be clamped between the Min and Max EV100 values. Let's look now at using manual exposure controls. Remember when we do that using the current camera settings, the scene's going to get very dark. Let's go ahead and tweak those settings now. First of all, we'll go ahead and set our Shutter Speed to one second and we'll change our F-stop to a value of one. Remember having an f-stop of one and a shutter speed of one second at ESA 100 gives us an exposure value of zero. But what if we want to mimic a typical sunny day? Well, this brings in the sunny 16 rule from photography. With the sunny 16 rule, you can essentially mimic a sunny day in your photography, whether you have a light meter or not. The way we represent the sunny 16 rule in Unreal is to set our Shutter Speed to a value of 100, our ISO should be at 100 and our F-stop should be at 15. Of course, this returns our scene to a very dark scene and that's because our lights now need to be tweaked to match these camera settings. Before we go any further, however, it's important to understand that when working with manual exposure to mimic a real-world cameras exposure, the settings we'll be using will not work in all cases. There are some systems in Unreal such as Fog Actors or Lightmass that simply won't respond correctly to real world camera values. The settings I'm going to be using will work in this case. Just keep that in mind as you may not be able to use these real-world values in your particular scene. So, we'll look for our sunlight here and that's going to be a Directional Light and you're going to notice the Intensity is currently set to a value of 8 lux. Now that is way too low for a sun in a physically accurate representation for our exposure settings. With an exposure value of 15 the typical illuminance of the scene should be about 82,000 lux, so we're going to go ahead and change our sunlight. Remember that value is coming all from the sun. We're going to change that to 82,000 and you'll see when we do that, that brings our lights back in. Now remember, using real world values like this for the sun may cause Lightmass issues when baking Lightmaps or other potential problems. So again, it works fine in this scene, but your mileage may vary. And with a quick Lightmap bake, we can see that the lighting is now beginning to bounce around the room and lighten everything up and everything looks like it's at the proper exposure. In fact, if we go to our view mode options again and we turn off Game Settings, we're going to see that at an exposure value of one, the scene is much too bright. However, if we match up the exposure value from our Post-Process Volume, we'll see that we get a much closer representation of the same exposure value that we have when we baked our Lightmap. Alright, so that's going to do it for this episode. We hope you enjoyed watching it and we'll see you next time on Unreal Tips and Tricks.
Info
Channel: Unreal Engine
Views: 36,565
Rating: undefined out of 5
Keywords: Unreal Engine, Epic Games, UE4, Unreal, Game Engine, Game Dev, Game Development, exposure control, camera, lighting, archvis, architectural visualization, arch vis, architecture
Id: Q1xi8NwpIqA
Channel Id: undefined
Length: 12min 11sec (731 seconds)
Published: Mon Oct 14 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.