Download

[Stationary light] Non-metallic material lit when light goes off.

Using version 4.8.2

I have run into a bit of an issue in my game project where I have stationary lights through out my level since the lights can be turned on/off and change colour, flicker etc, but do not need to move.

The issue that occurs is that when the lights go off, the lower the metallic value is on a material, the brighter that material is when the lights go off, so if a material has yellow in it that has a metallic value of 0 and a roughness value of 0.4, it will still be perfectly visible in complete darkness.
A good example is the M_Orange_Shiny material that is used on the lever in the blueprint examples. Or the yellow colour on the M_Door material that comes in the StarterContent.

As you can see here, both the floor (which has no metallic value M_DemoFloor_Inst from content examples), the pillars (using M_Door material) and the blast door (contains M_Orange_Shiny) all are perfectly visible in pitch black darkness. But when I give them a metallic value of 1, they are no longer visible.
I should also note that they do not have any emissive values.

I’m wondering if this is some kind of bug, or is there something I am missing here?

If it’s not a bug, could someone point me in the right direction to where I can understand how to circumvent this when I create my own PBM’s.

Thank you in advance, your help is greatly appreciated :slight_smile:

Not a fan of bumping a thread, but this has got me intrigued.

Anybody?

Check to see if you have any baked lighting, set your lights to dynamic. Stationary lights still contribute gi if you let it, even when you adjust the lighting values. If you don’t have any baked lighting and it is still there, check to see if you have any skylights in your scene. Those are global.

This doesn’t happen with dynamic lighting. Only with Stationary (I haven’t tested static, but I presume it would be the same).
Also, zero sky lights, the point lights are the only lights in the scene.

The main reason I’m confused is because it only becomes more obvious as the metallic value is lowered. (Lower the value, the more noticeable it is). I don’t ever recall reading anything about this being an issue or side-effect anywhere either.
I do remember a while ago, I had the same issue with some props I made for a different project, where the toilet and sink didn’t use the metallic value, and so they lit up like so, and you can notice that the toilet flush button and tap/handles being metallic, they are dark.

I haven’t really tried to do anything in pitch darkness. The metal is black because it is trying to reflect the environment. I don’t know exactly why the non metals are not black. Can you show us what it looks like when it is lit, and then after you turn off the light? If you are using built lighting, make sure your environment color is black.

While it is lit, it looks pretty much the same.
This is from another thread ages ago, but exactly same picture as above, just with the point light turned on.

As far as the sci-fi corridor goes, the floor remains the same brightness, however you can see where the light hits the floor, it’s a brighter circular appearance with fall-off. (I haven’t got an image though unfortunately).

I can image this has something to do with reflection captures, not sure though… Do you have any in your level?

I got back to my computer to be able to take some screen shots for comparisons and examples! :slight_smile:
The material on the sphere in the images is just an instance of M_DemoRoomTiles material with only the colour being changed to be more cream coloured than pure white. Metallic value at 0, roughness at 0.4.
The first image shows the material. (NOTE: What you can’t see in the image actually has zero affect, since it’s just the normal and AO maps. With, or without these, the same thing happens. It’s only when metallic is changed to 1 that the problem goes away, but presents the issue of not being able to have plastic or paint like materials.
The 2nd and 3rd image show with lights on, and with lights off. Lighting is stationary.
The 4th and 5th images are the same thing, just with a scene reflection capture sphere, and as you can see, everything within the sphere’s radius remains brightly lit even when lights are off -_-
(NOTE: Assets are not final, purely quick mockups just for testing, they look yuck :slight_smile: )
Screenshot of material, nothing special or fancy going on here.

Lights on, no scene reflection capture sphere.

Lights off, no scene reflection capture sphere.

Lights on, 1 scene reflection capture sphere.

Lights off, 1 scene reflection capture sphere.

Yeah you need to hit ‘Recapture’ Scene on the Reflection Capture or it won’t refresh it’s view.

So I’m guessing that when the lights go out real-time I need to trigger a recapture on the reflection capture sphere somehow? I couldn’t find a node in blueprints to do this.

It’s really not the issue I’m trying to resolve anyway, despite it being another issue that I will probably run into. The issue is more to do without non metallic materials staying lit in darkness.

UPDATE:
As for the reflection capture sphere/box. I worked out that while I cannot change brightness dynamically (unless I can somehow expose the variable to blueprint’s via the class), I CAN set the visibility on/off.
While lights are off, I can set the visibility of reflection capture on/off, which would be great…if I could add the reflection capture to a blueprint as a child component. I will unfortunately more than likely have to manually place these, however I fear this will be a royal pain in the butt!

I can sort of understand why it can’t be added as a child component, however I think it wouldn’t be a problem to add as a child component IF it had to be manually updated (perhaps on “Begin Play” event or some other event defined by the level creator).

I still haven’t been able to work this out yet unfortunately. I’m still not sure why non-metallic materials remain bright in darkness. Anybody have any ideas?

Today I decided to try again with lighting, and so far, still not much success, but I’ve been reading whatever information I can, and testing out a bunch of different methods of getting decent lighting in my levels.

Firstly, I don’t know why the heck I didn’t see this before, I feel so stupid, because I have read this section a bunch of times, but it’s like I was reading, but not really grasping what it was saying due to mental fatigue, but this is pretty important.

This explains why surfaces remain lit despite stationary lights being turned off.

However it still does not explain why metallic surfaces don’t bounce light at all.

One great way to replicate the problem I face, is to go into the “Sci-fi hallway” project, then select all lights, change visibility to false. Then select all the scene reflection capture spheres and set them to invisible. The scene remains lit, albeit it looks very dull.
What I would like to happen is when those lights go out, the reflection spheres disable, and the environment turns pitch black.

I had a quick attempt at using LPV, but while I got it sort of working, everything was slightly lit up for some reason, like it was getting light from somewhere, even though I know it wasn’t getting light from anywhere. It could have just been the way I had set it up though.

I feel like I’m completely missing something here with lighting, and it’s frustrating. I know the engine is capable of amazing lighting, and can do what I’d like it to do, it was one of the attracting features for me to this engine, but I can’t seem to figure out how to utilize the lighting in the way I want to :frowning:
Here is a video doing what I’d like to achieve.

I understand the video is showing off Enlighten, which is not a stock standard lighting solution in ue4, and it needs to be purchased (somehow), but it gets the point across :slight_smile:

TL;DR:
Turned on “Force no pre-computed lighting” in World settings so lights weren’t being baked. This fixed non metallic surfaces remaining brightly lit when lights go out.
Imported new corridor models for testing.
New models have a spotlight used for the droplight, this was only lighting up the floor and bottom of walls, so I used a point light to fill in the unlit areas with faked area/bounced lighting, it has no shadow projection either.
Results of this area in screenshots below.

So I decided to try a few things out, I checked out LPV and while I got it working purely from a directional light (I think it only works with directional lights yeah?), that doesn’t really help me with sci-fi corridor lighting unless being lit from a viewport/window looking out into space.
Also, it drastically reduced performance…it halved performance in fact, and as a result, performance while looking through security camera’s was horrible.

So I ditched the idea of LPV, but researching LPV and testing it out did make me think about the issues I was having. The issues being that the materials remained lit, even in darkness if they did not have a high metallic value, it made me realise the most obvious thing (to more experienced environment artists), that my lighting was being baked, so even if I turned the lights off, the surfaces would remain lit…I oughta smack myself in the face for not realising this sooner.

In order to get LPV running, I had to turn “Force no pre-computed lighting” on in the world settings, which means that there are zero baked lights, at all.
This meant that no matter the material I used, metallic or not, if the lights were off, it was dark.

I decided to import some newer corridor models in that I had been working on and test lighting techniques with them, and ran into another problem, but this problem was purely due to inexperience with lighting, the new corridors have one main drop light on the ceiling, but because there is no light bouncing, the ceiling and walls remained dark.
This wasn’t good enough.
So I thought I would just TRY something different by placing a point light in the corridor modules, and turned off any shadowing, also turning up the roughness threshold to 1 so as to avoid seeing the light source itself in reflections.
I guess this would be called a “fill light”.

I refused to use this before because I thought for game purposes, it may bog down people’s PC’s too much by having too many lights.
But performance seems fine. The only issue it creates is that these are stationary lights, which as a result, causes light overlaps, turning some lights from stationary into moveable. It’s not a big deal for now as I’m still just experimenting with lighting, but this is the result with lights turned on and lights turned off.
Please don’t take these designs as being final, I’m just experimenting with designs right :slight_smile: (finally)