Render light over invisible objects?

In my game I have a background image that represents my environment, and some invisible geometry that actually is my environment layout. So my character can move around in 3D space while it looks like he’s just moving around on the background drawing, however I’m wondering if it’s possible to place lights in my scene and have them hit the invisible objects and be rendered in such a way that they will overlay my 2D background as if the light was actually hitting the environment in the drawing.

Is this possible? Or is there some way to cheat it?

The closest thing I can think of is to generate a Normal Map for your 2D background but I think it will not give the same effect you want. Sounds like you want hand painted backgrounds with 3D lighting.

Maybe a combination of parallax shaders, normal maps, and some strategically placed actual 3D objects in the foreground? This seems like a waste of effort unless the shadow shapes in the scene need to change like they would with a light that moves. otherwise if the lighting is completely static and no objects or lights are moving youre better off usinf post process effecrs and just painting the shading into the 2D scene.

The idea is that my character is a ghost that gives of a light that will light the objects in the scene. An alternative way of doing it that I have thought of is just creating 2D assets of the background and actually placing them in 3D space as a plane so they actually are the space they convey and thus can be lit. I was just curious if there was a way to do it with just the 2D image, as I won’t have to worry about matching camera angle & FOV from the background drawing.