Download

Spot Light boundaries problem, affecting objects outside attenuation radius

Hi,
As you can see in this image I have a problem with Spot light:

This light is touching anything (as you can see with the attenuation radius) but in my profiler I can see that the spotlight is affecting some foliage.

Thoughts?

Is ray tracing enabled? It may be bouncing due to RT enabled with a too-high level of intensity or IOR or another parameter.

Shadows are based on the bounds of the shadow casting object intersecting with the light’s attenuation. Instanced Foliage has larger bounds than you’d expect because bounds are world-aligned and uniform(if I remember correctly) and the foliage is treated as one large actor. You could double check by showing the bounds in the viewport with the foliage selected.

Is there a way to make that spotlight ignore the folliage?

This may be the case, do you know a way to temporarly disable Raytracing without having to turn it off in the project settings? Like a console command?

I have to notice that also on some other PCs with nvidia 970 I encountered the same problem.

It doesn’t show the vegetation bound even if I selected it :confused:

This may be the case, do you know a way to temporarly disable Raytracing without having to turn it off in the project settings? Like a console command?

I have to notice that also on some other PCs with nvidia 970 I encountered the same problem.

It doesn’t show the vegetation bound even if I selected it :confused:

I thought there’s a Raytracing checkbox in the details panel of light actors and objects like foliage. It may only be accessible via the material editor or model editor. I’ll check when I load a level with foliage and a spot light.

There’s a setting under Rendering in the details panel called Visible in RayTracing. If it’s enabled, try disabling it and see what happens. There’s another setting under Rendering called LPV Bias Multiplier, which says it is used to reduce light bleeding. That might reduce it, but it might not be the solution that’s best or correct. I’m still a beginner in Unreal, so I don’t have an exact answer that I know is going to resolve it.

@preston42382 I tried both your solutions but none of them work. The light is still affecting hundreds of foliage instance…

Is it affecting the foliage on the ground beneath the spotlight? I see 3 atlas_ objects in the profiler with the same spotlight under each one, and there’s 2 or 3 foliage instances affected per spotlight reference (each one is the same spotlight, so what is the profiler showing about that spotlight?). There’s a method of culling light attenuation radius and intensity, from what I’ve read in the forums, but I don’t know how it works. It effectively stops light from affecting assigned actors / objects or those at a certain distance.

Any update on the problem? Get a solution going?

Nope nothing,

I looked up a few things in the docs. Here’s a list of things to check:

  1. This was stated in the Instanced Foliage page, “Note that light and shadow maps are shared between all LOD levels, so all LODs need to use the same unwrapping.”
    Instanced foliage is clustered in rendering, so lighting affects it in clusters too I think. It may be the foliage receiving light from the spot light uses different unwrapping, causing the light calculations to compensate for it in reference to the spot light (would probably be occurring along with a setting that’s enabled or disabled). Or, the unwrapping for the instanced foliage is somehow not interacting with the spot light correctly.
  2. Several settings under Light properties for the Spot Light in details panel might be the culprit, either one or more:

Source Radius - radius of light source shape

If that’s too large, it would contribute to foliage lighting either directly (first bounce, so foliage would be within its radius, I presume) or indirectly (via bounced light) if 0, it doesn’t mean it has 0 radius, it actually means it has a default radius of 20, so could still be affecting foliage

Source Length - length of light source shape

if it’s 0, ignore this property…if it’s greater than 0, then it may be contributing to foliage light-up somehow

Indirect Lighting Intensity - scales the indirect lighting contribution from the light

if it’s 0, ignore…otherwise, if greater than 0, then it’s likely contributing to the foliage being affected by the light by bouncing off of other objects / surfaces and hitting the affected foliage

Use Inverse Squared Falloff - Whether to use physically based inverse squared distance falloff, where AttenuationRadius is only clamping the light's contribution

If it’s enabled, then it appears it would be affecting foliage if the attenuation radius intersected the foliage. Otherwise, it would be indirect contribution or a different problem.

Affect Translucent Lighting - Whether the light affects translucency or not

If the foliage has translucency (such as on the leaves’ material), then disabling this might get rid of it…or enabling it might allow for controlling the amount of light those foliage instances are affected by or something

Since that spot light’s attenuation radius is not directly intersecting objects from its visible cone, I surmise it’s some sort of setting that’s enabled / disabled and may also be a property value that is set such a way that it’s causing the light to hit the instanced foliage listed in the profiler. If the light’s lighting is extending beyond the visible cone (attenuation radius), then it is probably bouncing off of the ground surface and/or other surface geometry at angles that cast it at the foliage. That is probably it because only certain instances of foliage are affected. So, to solve it would most likely involve adjusting the light’s settings, and possibly the foliage settings too but not sure, so it’s no longer contributing to those foliage instances.