GPU lightmapped shadow casting

Hello,

I tried submitting a bug report using units reporter but it takes a LONG time and eventually times out.

When I baked lightmaps using Progressive GPU I get harsh shadows projected onto a surface by faces not facing it.

Managed to repro it using a red cube and green quad both set to lightmap GI.

Did anyone else manage to find a solution to this bug?

Unity 2020.2.5f1

Cheers,
James

Repro’d in Unity 2020.2.7f1

I can reproduce this too, but don’t you see what’s wrong here? An inverted normal cannot cast shadows properly, because it has no depth. You might as well try to cast shadows inside your walls. The GPU lightmapper is not broken, it just reacts (very) differently to this. You should never see inverted normals in your game, so it is your scene that is broken, not Unity.

I understand that. But in this case if you are looking at the face from the correct direction you can still see the shadow casted on the face of the cube. And to that it doesn’t make sense

Why are you so insistent on having independent quads? Again I say, if there are independent faces or inverted normals in your scene, remove them; they should not be there. You can check your models in Blender or something. CPU is no better with them, like here: 6921785--812060--Example.png

BTW, if you want your room to bake properly inside and out, then give all the walls and ceiling at least some depth*.*

Response from Unity
After a further resolution with developers, we have decided that this issue is By Design due to the following reasons:
This is a texel validity issue and is by design. Enabling the Double-Sided Global Illumination on the material of the shadow caster/receiver and rebaking GI fixes the issue. Please read more on this matter here: [FAQ] Blocky artifacts appear when I bake a scene. How can I fix them?

I Fixed it by changing the material to double sided illumination by changing Render Face to both.

However it did result in cubes drawing on the inside so it’s not the ideal solution

Looks like the best solution is what you suggested @ .

Thanks.