I’m going through this online course to learn the Unreal engine and right now it’s going over lighting and illumination. I put in my directional light, the skylight, and skybox and linked the skybox to the directional light. Everything is all good except for the fact that in the video, on the inside of this building, it’s very dark/pitch black except for at the doorway where the outdoor light bleeds in and slightly brightens the immediate area. My problem is that it’s not doing this for me at all. I’ve made sure lumen was on for global illumination, I’ve tried messing with auto-exposure settings, etc.
I just made this fresh project just to make sure I didn’t mess anything up on my tutorial project and it’s doing the same thing. You can see that on the inside of this completely enclosed box, it’s still illuminated when it shouldn’t be, and when I turn the skylight off, it does get pitch black inside the box, but the light outside doesn’t bleed through the vents at all. Here’s another video of my main tutorial project:
As you can see, same deal. The whole thing is illuminated, no light bleed is occurring and I’ve followed the same steps from the video. Now, I believe in this video I’m watching, he is using Unreal 5.0 whereas I was/am using 5.5/5.6 now so I’m not sure if there have been changes since then that would make it a different process to achieve the same effect. Also note that in the video I’m following, he makes it a point to make sure to select “Moveable” for the light sources. I’ve tried selecting static and on my tutorial project (second video), it makes everything very dark but there basically no sunlight anymore, but then on my test project (first video) it hardly did anything. I’ve looked into doing static but it started going into lightmaps and everything and I think that’s a bit too complicated for me at the moment since I JUST learned how to add light sources. So I would like to keep it on “Moveable” if possible since that’s what the lesson is telling me to do and it seems to be working for him. Anyways, thanks for any help!!
It more than likely has something to do with the lack of a Volumetric Fog. Volumetric fogs simulate particles like in an atmosphere to create a scattering of light. Without a volumetric fog, it’s assumed to be a vacuum- outer-space-like. For an example of real-world pictures without volumetric fog, check out the moon landing pictures- notice how everything that’s even a little shaded is HARD BLACK shadows.
Light bleeding is a defect/artifacts generated when you bake lights and the light filters into a mesh it should not filter to.
Also, until Lumen, unreal engine never supported anything of the like.
All inside/outside transitions are cheated by increasing skylight or changing eye aperture, or something else.
There is a way to get it right, and its not lumen… the community made GI replacement that lumen drew from (and destroyed) should do it somewhat nicer than the engine did at a cost.
A better way to achieve the effect though is likely ray tracing and an Nvidia engine build. If you just need to get a graphic because 2fps at best on the latest GPu is what you are likely to get.
And as suggested, adding volumetric fog is going to shade that fog a bit so you get light beam like effects.
But cost wise, you would be better off making a single plane mesh, adding a custom material that takes in the light input and angling it right in relation to that and the camera fustrum to fake the effect.
Overall we are talking many milliseconds of difference to the end result here - and yes, i understand you are just learning, but what is the point of learning wrong things you’ll never use?
Adding the volumetric fog made it look nicer for sure, but hasn’t really solved the main issue. As you can see, places throughout the building are still lit up and at the end, it’s still lit up even in a completely enclosed cube. Maybe I confused this issue for being “light bleed”, but basically the goal is to make the areas that should be dark, dark.. and the areas that should be illuminated are illuminated. Right now, I can only ever get it to be all illuminated (more or less), or not illuminated at all.
I’ll be honest, I’m not entirely following what you’re saying. I definitely plan on learning more about illumination, but for right now I just need the places that should be dark to be dark since the next segment is about adding indoor light sources to light up the dark rooms. Unfortunately, these outdoor light sources are illuminating the entirety of my indoor structures.
I sought help from the Unreal discord first and the first thing I tried was adjusting the exposure settings by creating a post process volume, setting the extent to infinite and setting the EVmin/max to 0. This helped tone down the overall brightness, but it didn’t solve my problem of needing rooms to be dark (without making the whole level dark).
You have global illumination disabled and as a result you cannot shadow the skylight, you have no way of fixing this other than using some form of GI, either Lumen or Lightmaps, or by doing what @MostHost_LA said above and using transition regions to fade out the skylight intensity.
I’m not talking about the exposure (ev100), I’m talking about the local exposure settings. You have extreme halo’ing around the lit regions of your scene.
Welp.. after about 10 hours straight trying to figure this out, I finally did so. Turns out I had DX11 on instead of DX12 and my.. what a difference it makes. Kind of embarrassing but at least it’s fixed. This is what I was trying to do.
Personally. Id add a local light at the door so that you get the same effect for dx 11 - and disable the light if dx12 is on.
Easy to do, gives you compatibility since not everyone can or wants to run dx12.
You can use a light profile to offset where the local point light shines and how its cone looks. So you can indeed fake the same effect with just light.
Ps:
Skylight is responsible not only for bounce but also for base illumination - so if you have that set to more than 0, a completely enclosed cube will still be lit (to a degree above 0).
I’m definitely going to look more into illumination in the future since it seems like it can go pretty in-depth, but for now I’m just doing these lessons to learn the basics. This isn’t a game I’m making, it’s only a test level. Still though, this is good information because I haven’t thought about DX11-12 compatibility. I’ll keep that in mind for my future projects. And that makes sense for the skylight because even after I fixed the issue in DX12, I went to the enclosed cube and it was still lit, which confused me a little bit but I basically just shrugged and moved on. This issue has been a pain all day . Anyways, thanks for the tips and the help!