Material that recieves shadows but no shading I'm trying quite desperately to help my wife create a shader (in either cycles or eevee) that has a flat color texture but catches the shadows from another object. So picture two image planes one hovering over the over, both with a flat texture, but the lower plane 'catching' the shadow cast by the one above it. It seems programmatically simple but has now eluded me for days. Is this at all possible? I've looked into...
1.. making the lower plane a shadow catcher, but that means it shows only the shadow and no surface texture.
2.. creating two 'lower' planes with one as a transparent catcher overlay.
3.. casting shadows via ray visibility onto an emission shader.
4.. math node multiplying an emission shadow by a diffuse shader designed to recieve the shadow.
5.. using the light path node shadow ray to display a mix of diffuse and emission shaders driven by the same image texture.
EDIT: Added picture. Here I'm just using flat colors not textures but the principle should be the same. I want the red plane to stay flatly shaded, and I want the green plane to also be flat shaded (unlike shown), except that it includes the shadow cast down onto it by the red plane. Viewed from an orthographic camera looking directly down the z-axis it would like the red plane has a 'drop shadow'.

EDIT: Thanks to everyone who helped! For future reference if anyone has this problem the accepted solution is an easy and effective answer to this problem and works in both renderers. I'll note the sun does help but you can easily get away with any light type depending on the strength and radius you use. Softer shadows can be achieved by messing with the interpolation of the color ramp. Casting onto an an unshaded image texture is as simple as plugging the color output from the image texture directly into the MixRGB node.
The closest I think I can get is to use a toon-ish style shader on the bottom plane. This leaves the plane flat-shaded, but allows for pure black shadows (remember to set the ColorRamp to &quot;constant&quot;). However, as you can see, the falloff from the point light also gets cast in black as well. This can be solved to an extent by increasing the size of the light source, but doing this causes the shadow resolution to suffer as well.
Here is an example using a point light:

However, if your mesh objects are sufficiently small (can be scaled down), this issue becomes negated:

As Markus pointed out in his comment, changing the light type to Sun fills out the plane (regardless of the size of your mesh), but the shadow quality properties will likely need to be increased to make the shadow look &quot;cleaner&quot; (less aliased), but it still may not come out perfect: