Light shining/bleeding in between objects

Light from a point light is bleeding through the wall into another room, there are no gaps between the objects and the problem still occurs if I make the objects intersect. I also tried merging the verticies in blender but the result was still the same. I’m guessing it has to do with the fact that no shadows are being cast so light isn’t blocked/obscured, but I dont want any shadows in my game. There must be some kind of workaround, right?

How do you light your scene?

With point lights (No shadows)

The only way to stop it is to turn on shadows.

I meant, it is static light, dynamic light, point light, spotlight, what are the parameters, the whole light rig. It’s likely to bleed due to vertex anyway. You might turn on shadow, but also modify ambient.

@neoshaman its just a simple point light with the default settings. The ambient light is just a solid grey color

What I meant is to have more information to see if I can give you a better solution. Base on your question and answer, I guess you don’t know much about lighting in game, therefore shader, which make making a solution more difficult.

For example if you light are static, you can just bake them and modify the lightmap, or bake the light into vertec and split them when appropriate.

If you light is dynamic you will need shadow casting, or rethink entirely how you make light (you could use the old technique of modifying vertex color like in old game like perfect dark, etc…), it would depend on how dynamic your light is (does it move or change color/intensity?)

I think I can’t help you, you might need to learn about how light is created in game first.

@neoshaman I’ve got a basic understanding of how lighting works. I just had a hard time understanding what type of information you wanted, its a dynamic point light and all of the other settings are default. Can you please elaborate on the

rethink entirely how you make light (you could use the old technique of modifying vertex color like in old game like perfect dark, etc…), it would depend on how dynamic your light is (does it move or change color/intensity?)

part? It sounds interesting!

I mean do you understand how light is created using normal and light? With vertex and pixel shader? I mean do you know why the light leak is happening on a technical level?

While the technique I propose sound interesting it’s all about how you actually understand the different limitation every model have base on the fundamental of lighting model in game.

Given the perfect dark lighting, the light tend to be uniform in a room (can be done with the standard shader and changing the color parameter), it’s because the texture is simply multiply with vertex colors, which mean light don’t illuminate other mesh as there is no source (no light direction, but you can have light pulsing), a better version can be done by simply having a sort of baked light mask on the vertex which will further multiply the result to modulate intensity. Also because vertex data is interpolated along triangle surface, you need to duplicate vertex to create discontinuity along a model.

In the end it will be more a modeling challenge than a lighting challenge.

@neoshaman This wont work if the light is moving, correct?

I mean do you understand how light is created using normal and light? With vertex and pixel shader? I mean do you know why the light leak is happening on a technical level?

I recently watched a video about it so yes I do now

So … What exactly do you expect to happen? I mean, you’re saying light is bleeding through objects, so if you turn shadows on you won’t have that problem.

Depend on what you expect in term of light behavior, all game lighting are hack and you can design your own. It’s a matter of visual design. The leak happen because analytic light don’t have concept of blocker, in fact it’s not really light it’s an analytic relation between direction of light and surface normal. So in order to avoid the light leak you need to design your own visual solution or use existing one. In this case, it depend if the occluder is moving (a door?). For example using the player position you can decide which mesh get illuminated by cutting room in smart way you will only illuminate what’s relevant, but don’t go overboard.