Archmesh: Lights go through walls, doors or whatever #62197

Closed
opened 2019-03-05 02:28:04 +01:00 by Darío Norberto Ruiz · 11 comments

System Information
Operating system: Linux KDE Neon
Graphics card: Intel HD Graphics 5000

Blender Version
Blender 2.80 Beta

In Archmesh, although the walls are well defined at a height of 0, the lights pass through the walls, ceilings or floor. This causes the reflections of light from the continuous floor to be reflected in the room on the side. It is logical that this happens in doors and windows, but not in walls, floor and ceiling.

Plano1.jpg

**System Information** Operating system: Linux KDE Neon Graphics card: Intel HD Graphics 5000 **Blender Version** Blender 2.80 Beta In Archmesh, although the walls are well defined at a height of 0, the lights pass through the walls, ceilings or floor. This causes the reflections of light from the continuous floor to be reflected in the room on the side. It is logical that this happens in doors and windows, but not in walls, floor and ceiling. ![Plano1.jpg](https://archive.blender.org/developer/F6762923/Plano1.jpg)

Added subscriber: @AyelGoth

Added subscriber: @AyelGoth
Member

Added subscribers: @fclem, @JacquesLucke

Added subscribers: @fclem, @JacquesLucke
Member

You are only talking about Eevee, right?
@fclem should know, if there is something you can do about it.

In any case, please upload the .blend file so that we can reproduce the issue.

You are only talking about Eevee, right? @fclem should know, if there is something you can do about it. In any case, please upload the .blend file so that we can reproduce the issue.

Yes, the error appears when using the Eevee motor. It seems to me that the problem is in Archimesh, and possibly it's because the ceiling is a flat object just like the floor. I attach the file with the error.

Central UAMI con errores.blend

Yes, the error appears when using the Eevee motor. It seems to me that the problem is in Archimesh, and possibly it's because the ceiling is a flat object just like the floor. I attach the file with the error. [Central UAMI con errores.blend](https://archive.blender.org/developer/F6769408/Central_UAMI_con_errores.blend)

It's not an error, it's a bad setup of the Exponential Shadow Map. Bumping the shadow exponent fixes the leaks.

See https://docs.blender.org/manual/en/dev/render/eevee/shadows.html for more info on shadow maps in Eevee.

It's not an error, it's a bad setup of the Exponential Shadow Map. Bumping the shadow exponent fixes the leaks. See https://docs.blender.org/manual/en/dev/render/eevee/shadows.html for more info on shadow maps in Eevee.

Then the default configuration of the Archmesh material is misconfigured and the exponential shadow map has to be reduced. Because I haven't touched any of the default settings of Blender and Archmesh.

Then the default configuration of the Archmesh material is misconfigured and the exponential shadow map has to be reduced. Because I haven't touched any of the default settings of Blender and Archmesh.

I still think it's a bug. If a light is blocked with a solid object, the rays should not pass to the other side. Because it has no atomic space for reflection and is supposed to bounce off the object. If I turn on the light in my room and go to the kitchen, I don't see the beam of light coming into the kitchen through the walls and reflecting off the floor, no matter how much the floor has reflection parameters. Then it should take the solid object that blocks the light. Also, if I supposedly give the height of the wall equal to the height of the ceiling, it is supposed to be a closed space and there is not even a millimeter through which the reflection of light passes. It seems to me that the light is not making a calculation of the objects that block the beam, and tells the material in the adjoining room that it should not reflect the light that is blocked by the opposing material.

I still think it's a bug. If a light is blocked with a solid object, the rays should not pass to the other side. Because it has no atomic space for reflection and is supposed to bounce off the object. If I turn on the light in my room and go to the kitchen, I don't see the beam of light coming into the kitchen through the walls and reflecting off the floor, no matter how much the floor has reflection parameters. Then it should take the solid object that blocks the light. Also, if I supposedly give the height of the wall equal to the height of the ceiling, it is supposed to be a closed space and there is not even a millimeter through which the reflection of light passes. It seems to me that the light is not making a calculation of the objects that block the beam, and tells the material in the adjoining room that it should not reflect the light that is blocked by the opposing material.

Added subscriber: @moisessalvador

Added subscriber: @moisessalvador

The default shadow settings are more on the side of speed than precision. Use ESM shadows with more exponent or use VSM shadows with high bitdepth and 0 bias, make sure walls are thick (double sided), and adjust the Clip Start of the shadows. You should not get any light leaks with this.

It's not that your reasoning is wrong, is that Eevee is a real time engine and as such it uses real time game techniques that by definition can't be as accurate as ray tracing. The point of Eevee IS those limitations, the point of Eevee IS those approximations, to get fast speeds. Otherwise, you'd use Cycles.

The default shadow settings are more on the side of speed than precision. Use ESM shadows with more exponent or use VSM shadows with high bitdepth and 0 bias, make sure walls are thick (double sided), and adjust the Clip Start of the shadows. You should not get any light leaks with this. It's not that your reasoning is wrong, is that Eevee is a real time engine and as such it uses real time game techniques that by definition can't be as accurate as ray tracing. The point of Eevee IS those limitations, the point of Eevee IS those approximations, to get fast speeds. Otherwise, you'd use Cycles.

I solved the problem of light reflections by using an initial shadow cutout at a value of 0.1 m. I had previously put a large exponential of 500.0 and an initial shadow cut of 1.0m. Now using the 0.1m measurement and the 24.000 exponential, the lights are no longer reflected in the continuous rooms.

I solved the problem of light reflections by using an initial shadow cutout at a value of 0.1 m. I had previously put a large exponential of 500.0 and an initial shadow cut of 1.0m. Now using the 0.1m measurement and the 24.000 exponential, the lights are no longer reflected in the continuous rooms.
Member

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Jacques Lucke self-assigned this 2019-03-07 13:21:11 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#62197
No description provided.