Building lighting is not reproducible

I have a scene that is simple. It’s created by creting a big box brush, then subtracting a slightly smaller box brush from the big brush, then placing camera, point light, skylight, and sphere reflection capture inside this cavity (so, the “game board” is the inside.)

This has worked fine on PC (SM5) and Android (ES2) for a while. However, suddenly the Android target became all black, and nothing I did would turn it un-black.

Finally, I added a little bit of emissive color (0.05 times my diffuse map) to the material of the game board (on the inside.)
And, when re-building lighting, the environment was no longer black.
Now, each time I re-build, the pre-computed lighting on the wall becomes brighter!

My guess is that the lighting environment somehow captures the reflection/skylight environment, before it is re-calculated, and if this is black (as in “boostrap” state,) it doesn’t actually get any lighting, and becomes black.

I think this is only for ES2 targets – when I switch to SM5, it works, and building is reproducible. However, switching back to ES2 target, the level goes back to black; it doesn’t re-use the SM5 bake. Also, deploying to the target (Android) device makes the level still black in that case.

See the screen shot of the simple scene set-up:

68566-20151128-self-reinforcing-light-level.png

This is totally reproducible, btw, even in a small test level from scratch.

Hello jwatte,

I just tested your exact reproduction steps on an iPad (ES2). I flew around and inside of a box and tried to give the game all of the possible input I could think of. However, I did not see the game on the device turn black. We will also test this on an android device just to compare apples to apples.

Thanks,

This is an editor problem. As in, when I switch to ES2 preview mode, the level goes black. If I then build/deploy, the level will be black on device. This is the only thing I used the device for – testing whether this is editor-display only, or actual light maps being bad.

If I add a little bit of emissive to the material, and re-build light, there will be a little bit of lighting in the light maps. If I re-build lighting again, the light maps will be slightly lighter again. I can repeat this several times until it stabilizes at some normal light level.
Meanwhile, in SM5 mode, it all works as expected.

I have been attempting to recreate the black screen as you describe. I have been flying around in the (ES2) Preview for a while now and I haven’t seen the screen turn black.

I missed a step in my description above! You have to turn the boxes into a static mesh.

  1. Create a big BSP box.
  2. Hollow it out with a smaller BSP box.
  3. Place camera/light inside the cavity
  4. Select the boxes and convert to Static Mesh

Now, SM5 will work fine, but ES2 will be black, even after re-building.
When adding a dark emissive gray to the material of the box, the scene will become less black in ES2, and each press of the “build” button makes it less dark.
The same level works fine in SM5.

I am attaching a project that shows this problem. Switch between SM5 and ES2 to see working/black. Add emissive gray to the material and build lighting a few times to see the gradual lightening.

I think there are actually three things going on:

  1. The point light doesn’t work, when inside this “hollow” static mesh, after switching the preview mode back and forth and re-building each time.
  2. However, when I first turned the BSP boxes into a static mesh, the point light did work for a bit! This might be some cached geometry interaction data?
  3. The skylight picks up on light around it (captures the scene) in a way that includes the previous iteration of building, and thus depends on what was in the scene the last time it was built

Issues 1/2 actually happens for SM5, too. Issue 3 seems to happen only when ES2 is the viewport rendering mode.

Also, you probably should allow .7z attachments for better compression …

And your forums software says “No such upload” when trying to upload half of the time …

link text

After further testing and more research I have discovered that this is a known issue. I was also able to reproduce this in a fresh project using Shader Model 5 settings. This only occurs after you have converted a BSP to a static mesh and does not affect other Static Mesh’s or non converted BSPs.

The ticket number for this is UE-20638

I do not have an ETA for when this issue will be resolved but please refrain from using converted BSP’s in your project so you are able to avoid this issue. NOTE: Using movable lights in this scene seems to work as you would expect. I am adding this thread to the comments on this bug so we know more users are having an issue with this.

Thank you very much for reporting this issue to us.

Okay, thanks!

Is the gradual lighting build-up on re-build when selecting ES2 also part of that same bug?

No, that would be the auto exposure. This comes as a default feature within your level to simulate how things become brighter when you look at a light. You can disable this or keep the light at a stable level.

To disable the auto exposure, in the main viewport go to Show > Post Processing > and uncheck the box for Eye Adaptation. This disables the feature completely.

To set a fixed level of brightness you can create a post processing volume. Go to the volume’s details panel and search for the section labeled Post Process Volume. In that section there is a tab called settings. Click this and this will open a drop down with a list of features that can be adjusted according to what you want to see in your scene. NOTE : Checking Unbound in the same section will create this effect for your entire scene. Leaving things as they are will only affect the area inside of your volume.
In that settings dropdown is another tab labeled Auto Exposure. Check on the Min and Max Brightness. Set each to 2 will create a darker scene and give the effect of later in the day. While setting to .5 for each will brighten the scene to something that is closer to mid day.

Respectfully, I disagree with your analysis.

Auto exposure is a run-time feature. The bug I’m reporting is in Lightmass baking.

I’m talking about the “build lighting” process, which is a build-time, editor feature. The output of Lightmass is not invariant. Pressing “build” and watching the lighting get applied generates one level of lighting in the baked light maps. Just pressing “build” again and watching lighting get applied again generates another (higher) level of lighting in the baked light maps.

I apologize for the confusion.

You are correct in that Auto Exposure is a run-time feature.

You are saying that when you build light mass you see a level of lighting that is baked. Then, you press build again and the lighting that is applied with this build becomes brighter than the previous build. If this is the case then no, this is not part of the originally reported Bug.

Is this an issue that is reproducible in a new project as well. If so I can test this issue as well. I will, in the meantime look into any possible issues that correlate to what you describe.

Yes, this is reproducible in the project I included above, when the viewport is set the ES2 mode when I do the build.
(Note that the project I include has the “converted BSP” geometry, which is why I wonder whether it’s a symptom of the same other bug or not.)

I tested this with your project. I changed the multiply on the emissive to 2 so I would see the material/texture without changing the light itself. Then I built lighting a few time.

Result : No change in the brightness of the material after baking.
Expected : The material to becomes brighter after building.

I cannot reproduce this issue on my end. This may or may not be related to the other issue. The current status of the ticket that has been entered is " Unresolved. " As I am unable to reproduce this issue specifically I can’t enter it as a bug. I have also searched to see if there were any similar issues entered and I was unable to find them.

I will be marking this thread as answered at this time. Thank you very much for reporting these issues to us.

How about you change the brightness multiplier to 0.05 like I suggested in my original post? 2 is way too much; I wouldn’t expect any change to be seen then.

2 Was simply the highest numerical value I entered for the multiply. I tried other values including your original post of .05. I also tried .1 .5 1 and 2. If the scene is indeed keeping residual information and thereby compacting the effect it wouldn’t matter the starting value. It would, however, be an issue of over increasing values every time you built lighting.

It actually does matter where you start, because it’s building towards an equilibrium. If you start at or above the equilibrium, there will be no effect.

Also, this only happens when the viewport is in Android ES2 preview mode, and starts from black. It’s 100% reproducible with the scene I sent you and release 4.10.0 binaries, with both a 870M and a 980 GTX graphics card (two different systems.)