Suggested band-aid fix for light bleed on FiB

As a roblox developer it’s sometimes hard to make building interiors/dark areas look the way you want because of voxel/lighting issues. Especially when the solution is just “make the walls extra thick”

Here’s an example of a building with some pretty bad light-bleed on FiB

Here it is “fixed” the traditional way - making stuff extra thick (which in some games can cause annoying gameplay artifacts, ex: a physics-based game or some scenario where you try to get reasonably-thick walls)

Here’s the problem.

Original building exterior:

“fixed” shadows exterior. Obviously I could polish this and make it less jagged but you can clearly see how thick I need to make these parts to get rid of light bleed.

What I suggest is a light-density setting per-part of some sort. If I could tell the rendering engine that my thin wall should actually take up the voxel-space of a thick-wall that would help quite a bit. This could introduce new artifacts with shadows appearing a bit larger for some parts, but that seems like well worth the optional trade-off.

15 Likes

I believe that this would indeed be a (mostly) viable solution as described. One immediate caveat I see is the potential of something not unlike “shadow bleed” where shadows extend too far out and, due to the inherent inaccuracy of the voxel based lighting system, cause negative effects where shadows appear to spawn out of nowhere. ShadowMap may mitigate these effects to an extent but they may definitely be present still.

Seeing that shadows become sharper if you duplicate a part in-place, perhaps this density could be applied like actual density rather than applying a new size to a simulated lighting object?