Problem with Area shadows (for stationary lights)
So I started using the new "Area shadow for stationary lights" feature in 4.9 and started seeing some weird behavior. I have a landscape in my scene that serves as a floor to the entire level and when I turned on the area shadows feature I noticed that some other light sources would not light the landscape any more. They would light other objects, just not the landscape.
Steps to reproduce: 1. Place an object in the scene to act as a floor. 2. Place three light sources (Direction, Point or Spot light doesn't matter) so that each light illuminates some part of the floor object. 3. Enable "Use area shadows for stationary light" on one of the lights. 4. Build the lighting.
When the lighting is finished, one or more of the lights will no longer illuminate the floor object. If you add more lights (that also illuminate the floor object), other lights will stop working as well. One workaround for now is to keep adding lights until all the original lights are still lit after building the lighting, and then setting the unwanted lights to not affect world.
Is there any way to get around this?
asked Oct 02 '15 at 09:31 AM in Bug Reports
I have entered a bug for this issue.
The bug number is UE-21835.
Thank you for reporting this issue and I will keep you up to date on this bugs progress.
answered Oct 06 '15 at 02:46 PM
We found a similar issue with area shadows, but it wasn't related to duplicating lights. The issue is that shadow map that use area shadows option have a coverage on every samples of the shadow map, instead of only on pixels that are influenced by the light. Then in the merging of shadow maps per channel, everything will be overiden by that area shadowed light, so other lights affected to this channel are invisible. In the sample shown above, the 3 lights are next to each other, so they are on separate channel and dont have the issue. Our temporary fix is to take the light with the highest influence instead of replacing only based on coverage. Here is the fix that worked for us : ShadowMap.cpp in FShadowMap2D::EncodeSingleTexture
answered May 11 '16 at 03:12 PM
Thank you Logan!
It's really helpful to know the cause of it. I'll avoid duplicating lights for now then.
answered Oct 06 '15 at 03:15 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here