 In order for Eevee to be such a powerful and fast renderer, there are a lot of different methods Eevee uses to calculate lighting compared to engines like cycles. To start off, let's look at the render tab in our properties editor. In here, with Eevee selected as our render engine, you can see several settings that pertain to how Eevee calculates lighting and visuals. This includes several effects such as ambient occlusion, bloom, screen space reflections, and motion blur. In this video, we'll learn how to view each one of these effects and how to adjust their settings. To enable any of these, simply click the checkbox on the left. You can also expand each category by clicking the arrow on the left. However, you may notice that checking these makes no visible difference in the viewport. This is because we are in solid view. In order to view in real time, the differences each of these settings might make simply change your viewport mode to render view. You can do that by clicking the rightmost sphere in the top right hand corner of the viewport or pressing the Z key and using the pie menu there. Once in rendered mode, you can test each of these settings to see how they might affect your render. Enabling ambient occlusion will be most apparent at the corners or crevices of your scene. To show this better, let's go ahead and add a mesh plane object and scale it up to act as our floor. This is a real life effect that can help make geometric detail really pop and often helps renders feel more 3D. Let's take a look at the ambient occlusion settings. Distance affects how far the ambient occlusion shadow extends from the corners. Factor affects the darkness of the shadow and you can actually manually set it past the maximum of 1.0. For the rest of these ambient occlusion settings, feel free to hover over them for more information and experiment to get what you like. Bloom is basically another word for glow, but you'll notice when we enable it, it doesn't really change much in the viewport. That's because nothing in our scene is bright enough yet to trigger the bloom effect. But it's a very pretty effect so let's see if we can get it to show up. Let's select our cube and go to the material tab, indicated by the red material sphere icon at the bottom of our properties editor. Here under surface, we can see that we have the principle BSDF selected by default. This is great, but we want to make it bright. Well, luckily if we scroll down here, there is an emission value. This is a color that we can set. Let's drag the value slider all the way up so that it's the brightest white it can be. Now, this isn't bad, but it's not obvious enough for testing purposes. We can confirm that the bloom is working however, if we go into our render settings tab again and check on and off the bloom checkbox. Yes, the cube is glowing slightly, but how do we make it really glow? Like a lot. To make the emission even brighter, I'm going to use an emission shader. To do this, let's go into our cubes materials tab in the properties editor. We can then switch out our principle BSDF surface shader node for an emission node from the drop down menu. Now we have a strength value we can increase to our heart's desire. I'm going to set the brightness of our emission to 10. Now that's a lot of bloom. Let's play around with our settings now. Feel free to adjust the threshold slider to determine how bright an object needs to be to start glowing. For example, our emission shader is at a strength of 10 and setting the threshold to 10 in the bloom settings actually stops the glow of the cube perfectly. You can also change the color of the glow, the radius of the glow, and the intensity of the glow. Setting a non-zero clamp value will also set the maximum intensity the glow can be in your scene. The knee value simply makes it so that those objects that are bordering the threshold of the bloom are given some slightly way to fade the bloom so that the cutoff threshold doesn't look too visually jarring. Next, is depth of field. This isn't actually a lighting effect, but I want to go over it anyway. This simulates a real life camera effect that depends on the focus of the camera. This is when only certain parts of the image are clear, while the rest is blurry based on distance from the focal point. Before we test this out, I'm going to add a few monkeys at various distances throughout our scene so the effect is a bit more obvious. However unlike the other two settings before it, this does not have a check box. This is because the depth of field setting is enabled for each camera object individually, while this setting is simply a way to set max blur size for the effect. To turn on the depth of field effect, we have to select our active camera, then go to the green camera icon tab in the properties editor, and check depth of field from there. However, we still don't see any huge blurriness or depth of field effects. That's because we still have to set the focal length for the camera itself. Let's simply left click drag the focus distance down to around one. But still nothing? Ah, that's because the depth of field effect is only visible through the eyes of the active camera. So let's simply click this camera icon to change our view. There we go, as you can see everything in the image is blurry due to them being far away from the focus point. If we drag our focus distance back up slowly by holding shift while sliding the slider, we can see the focus point moving through the scene, as certain objects get clearer and blurrier. But where is this focus point in 3D space? Well, we can actually scroll down here and go to viewport display. Then check limits. If we go back into our perspective view and drag the focus distance again, you can see that we can very easily adjust the distance how we need to. One more setting that affects depth of field greatly is the f-stop value. The lower this number, the blurrier the image can potentially be. To get a very shallow depth of field where only a small portion of your frame is clear, you want a smaller f-stop. For a deep depth of field where many things are clear, you want a larger f-stop. Also, going back to our render settings tab, we can adjust the depth of field max size value to clamp the blur amount for render efficiency. But default values typically work fine. The subsurface scattering setting affects how subsurface scattering is calculated. With a similar samples option to the global samples, these settings overall increase or decrease the quality of the subsurface scattering calculations. We can add a quick subsurface scattering shader to our monkey here by simply selecting it, go into the materials tab and dragging the subsurface slider on our principled BSDF shader all the way up to max. Now as you can see, the monkey has a soft skin-like texture. But we're not really seeing the redness of the ears like we should. That's because there's one more setting in the material that we need to check. Let's select our monkey and go to the material tab. If you scroll down, you'll notice the option for subsurface translucency. This will allow light to pass through the ears and other thin parts of the mesh to give a more realistic skin shader effect. By moving our light object closer to the surface, we can really see more clearly both the translucency of the ear and the banding artifacts of subsurface scattering approximation. Now to get rid of the banding artifacts, we can increase the samples to increase the resolution of the effect, while Jitter helps hide some of the banding by randomizing it a bit. Separate Albedo preserves the colors a bit better, but uses more video memory. Screenspace Reflections is used specifically to approximate reflective and refractive surfaces in our scene. If we go back into our materials tab, we can select our plain object and add a new material. Then decrease Roughness to 0.2. As you can see, we now have a very shiny floor, but there are no reflections of our objects, only our lights. Although technically it's also reflecting our background. I'm going to add some more reflections to the background I'm going to add a checker texture to my world shader to make that a bit more obvious. Anyway, by enabling Screenspace Reflections, objects will actually start to appear in the reflection on the floor plane. The settings here will affect various aspects of the reflection. Roughness, for those who don't know, is how you set how clear the reflection looks. The rougher it is, the more diffuse the reflection. Whereas mirrors are typically a roughness of 0. Max Roughness here is similar to Threshold in that anything above the Roughness value will not display reflections. This saves Screenspace Reflections for only the shiniest of reflective shaders. Trace Precision will affect the quality of the reflections to a certain extent, but in reality, the global sampling settings is what will affect the noise in the reflection the most. Increase the samples to decrease the noise. Half-res trace also allows you to lower the quality of the reflections without affecting your global samples. This makes it more noisy but faster, so feel free to play around with what works for your scene. The Refraction setting under Screenspace Reflections is specifically for glass-like shaders that refract light as it passes through. Let's go ahead and go to the Materials tab and select a monkey to give it a glass shader. I'm simply going to add a material and switch out our surface option from Principled BSDF to Glass BSDF. Now you'll immediately notice that it looks like glass, but you can't see through it at all. Let's check on the Refraction option under Screenspace Reflections in the Render Settings tab. But it's still not see-through. Ah, that's because just like Normal Transparency and Subsurface Scattering Translucency, glass refraction is also handled as a transparency effect that needs to be enabled in the Materials tab. Let's go back into the Materials tab and scroll down until we see Settings. Then check to enable Screenspace Refraction. Now, as you can see, the object is refracting the light. However, we can also edit the object-specific refraction depth to approximate the thickness of our object if we want to be a bit more accurate. For your reference, each grid square in our viewport is typically 1 meter, but default settings are fine too. Next we have Motion Blur, which is also only visible from the camera's perspective. So let's turn on the Motion Blur checkbox and go into our camera perspective by pressing the camera icon here or pressing 0 on the number pad. However, we still don't see any motion blur, but that's because there's no motion in our scene. So the fastest way to see it in action is to animate our camera real quick. Let's select our camera by clicking on the border of its frame and turn on Auto Keyframe Mode by clicking this white circle record button. Then we can rotate our camera by pressing R twice to look a little to the left of our monkeys. As you can see, the timeline now has a yellow diamond keyframe set at our current frame. Then, click and drag the top of the timeline to move our current keyframe to frame 10. Here we'll want to rotate our camera again to look a little to the right of our monkeys. Dragging our timeline back to the beginning, we can play our animation with the spacebar and see a very prominent motion blur effect when the camera is in motion between our two new keyframes. To see this more clearly, you can also pause and simply scrub through the frames as the motion blur will still be visible to help tweak. Looking at frame 5, for example, we can very clearly see how the motion blur settings affect our visuals. So now it's time to play with the settings. The shutter value affects the amount of blur while the number of samples affect the quality of the blur. Volume Metrics is a setting that affects how volumetric shaders look in our scene. If we expand this section, you'll see a few things that we can tweak. However, we don't currently have any volumetric shaders in our scene to test. So, let's go ahead and add another cube from the Add menu. We can go into the Materials tab and switch out our principled BSDF for Remove. This will remove entirely our surface shader. Then, we can expand the Volume section and select Volume Scatter from the drop-down. This will add a volumetric shader to our cube. To better illustrate what this does, let's scale our cube up to engulf our light object and maybe half our scene. You'll notice it really fogs up the place. To make things a bit more clear, let's turn the density value of our volumetric scatter setting down to 0.5. Nice. Now we can test out the volumetric settings in our Render Settings tab. To start off, the Start and End values determine the clipping range relative to the distance from the camera for when volumetrics should be visible. As you can see, if we zoom out far enough, our volumetric cube will disappear. Likewise, if we drag up the Start value to something like 10 meters, we can zoom in and the volumetrics will disappear before we can get too close. Default settings are typically fine here, but feel free to experiment for your scene. Tile size and samples are both ways you can control quality of the volumetrics. You may have noticed by now that when moving around in the viewport, the volumetrics show a kind of banding pattern as it refreshes. The number of bands is based on the number of samples. The more bands there are, and the less obvious the bands are, thus the higher quality the volumetric becomes. Meanwhile, the tile size actually affects how sharp the edges of these bands are. Setting a high tile size number will result in blurry banding edges, but won't be as accurate, while the smaller tile size will slow down your viewport a bit but increase the sharpness of the samples. Distribution is a very important setting for when you or your camera moves inside or close to a volumetric shading. If we zoom in here, you can see that currently our volume resolution still holds up pretty good, but if we turn our distribution all the way down, you'll notice that it starts banding heavily as the volume gets closer to the camera. If you think of volumetrics like essentially a bunch of semi-transparent planes in an array stacked close together, this makes sense. As the closer you get, the more obvious the distance between the planes would become. However, with distribution, the space between the planes gets smaller as the camera gets closer to the volume, thus hiding the gaps between the planes and giving a higher quality volumetric look from all distances. The higher the distribution, the more it compensates for camera distance. This next section is for volumetric lighting specifically. If we check this checkbox off, you'll notice that our light object no longer affects the volumetrics. That's pretty much it, but light clamping will let you prevent any lights within the volume from being brighter than that value. A light clamping value of 0 simply means the clamping is turned off, allowing all light to persist in the volume. Volumetric shadows are basically shadows that are cast by the volumetric shader itself onto itself. These can get expensive, so use with caution, but feel free to experiment with it for your own scenes. The hair settings are specifically for hair particles and how they're rendered. The basic option is simply choosing between strand and strip. Strand is better for previewing, but stripped looks a lot prettier. Additional subdivisions can also help increase the smoothness of the hair's curves. Shadow settings can be adjusted here as well. The shadows of your scene can be calculated based on different methods in Eevee. ESM, or Exponential Shadow Mapping, is the default, whereas VSM, or Variance Shadow Mapping, can also be selected. You can read about the difference between these two in the official documentation in the description down below. Furthermore, cube size can visibly increase the quality of your shadows. This is basically resolution for your shadows. The higher the cube size, the higher resolution the shadows will look. Cascade size increases or decreases the detail of shadows specifically from sunlight. High bit depth can help increase quality as well by reducing some artifacts that might persist in lower bit depths. Soft shadows randomizes the shadow maps to soften the edges of your shadows. And light threshold is an interesting setting, as it allows you to change the threshold at which shadows are calculated. Typically, a shadow is simply an area with little to no light. However, you can increase the threshold to define what little to no light really means. For example, if I increase this to 1, then any area with less light will also be displayed as a shadow. Indirect lighting is a group of settings that refers specifically to the objects known as light probes. You may have seen these in the add menu, but not understood what they do. In the add menu, we can see there are currently three kinds of light probes. Reflection cube map, reflection plane, and irradiance volume. Light probes are objects used to precalculate certain lighting effects, such as bounce lighting, reflections, and refraction. This is a technically more accurate way to calculate real-time reflections in EV compared to screen space reflections, with some limitations. Let me show you what I mean. Let's subdivide this cube and give it a roughness of 0 in the materials tab. Since we have screen space reflections turned off, this reflective sphere doesn't reflect the monkey next to it, only the light and the background. However, let's add a reflection cube map to our scene. Reflection cube maps are used to calculate reflections for objects within a certain volume. When we add a reflection cube map, you'll see the sphere appear, which can be placed around objects with reflective shaders. Once we have placed the light probe properly around the sphere, simply press Bake in Direct Lighting. As you can see, the monkey is now properly reflected in the sphere. However, you might notice that there are diamonds in the reflection. That's because of the clipping settings of our cube map. Simply go into the Light Probe data tab in the Properties Editor, marked by this diagonal volume icon, and go to Viewport Display. Here we can turn on Clipping, which if we go into Wireframe mode, will notice the clipping starts inside of our sphere. This is what's causing the black squares, so let's drag the clipping start value up a little bit to bring that to the sphere. If we go back into Render Mode, go to our Render Settings, and hit Bake in Direct Lighting again, we can see these black squares have disappeared. But in case you don't want to press Bake every time you make a change, you can also check this Auto Bake checkbox. This will update the bake every time you make a change to the Light Probe objects. It's important to note that reflection cube maps do not update reflections to show the animation of objects, the reflection calculated is static. However, irradiance volumes and reflection planes do show object animation in real time. Reflection planes work much the same way as reflection cube maps, only they are flat. Irradiance volumes are a way to simulate bounce light. You can add them to your scene to sample surrounding colors and brightness, and cast that bounce light onto other objects. Remember when I said you can't use emission shaders as light sources in Eevee? Technically with irradiance volumes, you can. However, they don't cast shadows and require the light sources to be static. But irradiance volumes along with other Light Probe options can be incredibly helpful in Eevee to make the lighting feel more realistic. Light probes are an Eevee specific feature and you can read more about them in the official documentation in the description down below. As you can see, Eevee's real time lighting settings can make big differences in how your scene looks in Final Render. I hope this video helps you get started enough to allow you to experiment further for your own projects.