Download

Baking light issues when unloading some levels

Hello
I’m from Italy so I apologize if my english is not perfect.

I’m developing a puzzle adventure-game Rhem style. It’s my first attempt to develop a game, and even being not new with UE4, I do not consider myself an expert at all.
Game is BP only, not C++. Currently using 4.25.
95% of the mesh are custom created by me, as most of the texturing process.

For performance, I decided to use mainly static light (99%) plus some movable light in case I need special effect.

The environment is divided ideally in section, that are mainly:

  1. An external landscape the is used at the beginning of the game and in case player go out again for some reasons.
  2. An underground level with 6 floor. This underground section is splitted in 16 big exagonal modular buildings, 5 of them used by the player, 1 in construction and acessible only from external, the other are closed. All these buildings are separated each other by a lot surrounding floor, stairs, labyrinth wall outside them.
  3. A -7 floor that is below the buildings at point 2 and that is extended even further

Being a big environment, I decided to create an empty persistent level and some sublevels as below splitted:

  1. A level always ON (“Rohim”) where all the “Game Machine” are. This to make easy saving, referencing, loading all the user progress. In this level there are no static lights, but only a few movable light linked with some of the machine and all the machine themselves. Let’s says that this level contain quite all the BP’s that need to save something or that are referenced by them
    This level contains also the external floor, roof and wall for all the building below surface, delimiting then the building internal area
  2. A Lighting Scenario level (“Illuminazione”) with all the static lights, importance volume, fog, reflection capture. This level is always ON
  3. A level (“Silos_Esterni”) with minor stuffs external to the building mentioned in next point 4, unloaded when inside the building or when at -7, or in the external level (mainly ON only when player is trying to enter one of the building)
  4. Levels for each building that are loaded when player enter one of them and unloaded when exit. These levels contains all the internal “static” mesh or actor in each building (5 in total). Level are named “Silos_A” to “Silos_D” + "Silos_X. At the moment only Silos_A and Silos_X are created.
  5. A level for the -7 floor (“Gallerie”), loaded and unloaded via blueprint when entering or exiting that area
  6. A surface level (“Superfice”), loaded and unloaded via blueprint. This level has also the movable skylight and movable directional, being the only one with daylight illumination

Level 3-4-5 do not have any lights, while level 1 and 6 have only some movable ones.

Problem I 've is that level are near or penetrating each other.
Once I build the light, the problem is that everyhing is ok as soon as all levels are loaded, that is obviously not the target to have splitted in sublevels.
If I started the game for example at floor -4 with level 1-2-3 loaded as it should be, I’ve the door (in level “Rohim”) pretty black (img Begin Game (Dark).png).
If I then manually switch ON the level Silos_A, door is ok (img Loading Silos_A (Ok).png).
If then I unload again the Silos_A, door is washed out (img Unloading Silos_A (NOK Unlit))
Not that I took the door as an example, but also other doors or actor are with the same defect. The mentioned door is the one used to enter Silos_A.

Looking at the volumetric sample, as soon as I unload the Silos_A level, sample inside the Silos_A area change positions and colors, like if Silos_A have a specific volumetric samples replacing the others., and also in the border of the building, like where the door is, volume samples change in the same way. Sample wil then no change further away from the Silos_A volume.
See 2 image of the Volumetric samples taken from the same camera position with Silos_A loaded and unloaded. Picture are taken from inside the Silos A.

I hope to have explained my problem, that is really difficult to explain.
Being not an expert, my question is: What I’m doing wrong? It’s really impossible to have level loading and unloading without affecting the other loaded level? I just finished moving every lights in a lighting scenario hoping that this was the problem, but it was not changing the results.

I do not want to switch back to have all dynamic lights, and I do not believe that there is not a solution (I’m quite sure I’m not the only working on a game with similar splitting of the various levels).
I think it’s my poor knowledge of the lighting behaviour when baking is performed.

Any help will be really appreciated.