cybereality
Im not sure a normal map will be enough. Heres an exaggerated example of the problem:

In this picture you can see the silhouette of a billboard in the foreground. Ideally Id like it to not even be a silhouette.
I think I may have to write my own shader, but Im not really sure how. Basically Id like to simulate light hitting a flat surface when in reality its hitting a scaled surface.
If I try actually make the surface of the mesh an actual cube it solves the above problem but presents a new one. Lets say I want to simulate a half block it works fine when my light source is in front of the half-block like so :
However if I move the light behind the cube then the shadow betrays the illusion, revealing that it is infact a whole cube not a half cube:

because the shadow does not respect the normal map and the "top" of the half cube appears shaded because the side of the full cube mesh is being shaded.