So I'm trying to figure out a way to replicate how some games apply lighting to billboard sprites where they stay lit even if light sources are placed behind them. I aim to use similar lighting for animated particle textures in cycles.
Example (Don't Starve):
Left: desired result / Right: what blender does (since light is coming in from behind)
I managed to kind of get what I want by using an empty + object coordinates + spherical gradient as a factor for a diffuse/emission mix shader. However, this feels jury rigged and it only works for one light source. (my actual project uses several). I'd also have to manually tweak the colors if the light source is a different color. Is there a more practical way of doing this? Like something that lets one side of a face inherit the same lighting from the other? I couldn't find anything online about this.
Bad: Point light directly in the center of particle emitter, particles in foreground are dark.
Good: point light + empty directly in the center of particle emitter, particles in foreground are lit.
I tried doing things like using transmission in the principled bsdf with a roughness of 1 but it didn't produce useful results. I also did a bit of experimenting with the light path node but I don't fully know how it works yet.