Volumetric lightmass bleeding through BSP causes character to light up when standing near walls or floor.

I have some strong transitions from light to dark in my level and it seems like the bright outside light is bleeding through walls to alter the lightmass inside.

There are like three things wrong here. First up, lightmass nodes are being created inside geometry. Why is that a valid position? Since it’s inside the wall it “sees” all the light from both sides of the wall.

Secondly, correct me if I’m being naive, but the “closest” lightmass should never be from the other side of a wall, right?

And finally, Even when nodes are completely within the dark room they are getting lit somehow…

The answer can’t be that I must either have lightmaps with 4x the resolution (and 64x the render time) of the default setup, or only create hollow two sided walls which are 200 units thick. What am I doing wrong here?

Things I’ve tried:
Shrinking the Lightmass Importance Volume. Outermost nodes are always bright white since they take the average of all light outside the volume.
Increase the LIV. Once the volume is larger than the room all the additional nodes created do not change the issue at the border.
Making walls thicker. See image above for nodes inside wall.
Making the walls thinner. Outside nodes still bright, and apparently no logic to prevent use of lightmass from the other side of a wall, even when the wall is showing an occluding surface instead of a transparent back face.

The VLM will fill the entire volume to form a cube. There are no “invalid” positions.

Honestly my assumption is that this is just a problem with BSPs. So the real answer would be to use static meshes.

You could try setting lightmass volume lighting to “sparse volume lighting samples” in the meantime instead of volumetric lightmaps.

So I put a solid static mesh under the whole level, but my character is still sporting her luminescent lululemons.

I tried switching to Sparse Volume Lighting Samples, but that just makes the whole body glow (even though I used the Lightmass Character Indirect Detail volume to ensure the samples were built throughout the map, and not just on top of things).

Volumetric Lightmap Detail Cell Size - is that radiates and only way is to lower number like 60-40-20 depending how thick are walls. I had same issue and this was solution for me at least. Be warned, build time increases drastically.
VLDCS1

Dont forget volumetric lightmass density volumes and lightmass importance volumes!

I don’t know what to tell you honestly, I can’t reproduce your issue with static meshes.

I can’t have a four meter thick wall between all indoor and outdoor spaces, my game would look like OG Wolfenstein.

I have messed around with the lightmass density volumes, Tricky backwards things, but I’ve got them working… well, they’re creating higher resolution Lightmass maps. But the light is still bleeding through from the other side of the wall. So, as I feared it’s just obfuscating the underlying issue.

Any node near a wall has a chance to be full outdoor light.


To my knowledge there is no solution to this other than what has been posted: Thicker walls/floor, or a higher resolution VLM. Or some combination of the two.

I think you would be surprised what you can get away with. Light bleeding is a ubiquitous problem in game engines, thick walls are a lot more common than you probably realize.

Another option often used is to clutter the walls with impassable static objects like desks and bookshelves. Essentially making the walls “thicker” by keeping dynamic objects from getting close enough to show the light bleeding.

For me i use normal 40-50cm wall thickness and Volumetric Lightmap Detail Cell Size has difference like night and day.