Parallax Layer with normal map not shading correctly with 2D light

Godot Version



I’m using a Parallax Background with one Parallax Layer with a Sprite2D with a Canvas Texture as its only element, with diffuse, normal and specular maps, lit by a PointLight2D. When using the Mirroring of the Parallax Layer to repeat it (to have an infinite background) I get this weird shading from the 2D lights, even though the textures tile perfectly.

Additionally, if I adjust the Height property of the 2D light, the effect lessens with higher values and gets worse with lower ones. And lastly, when I move across the seam the light jumps a little, like the normal shifts.

Even weirder, if I manually duplicate the sprite, I don’t get this behavior at all. I don’t really love the idea of manually duplicating the background for every single level, much less writing my own script to do for me, but I guess I will if I have to unless I figure this out.

What the Hecate is going on?

Looks like a bug, try reproducing it in a new project and open an issue here Issues · godotengine/godot · GitHub explaining what you did, what’s the result you want and what you tried so far. Attach the new project you made so people can easily test and try to fix it. Thanks!