Does this need to be animated? If it’s just for a single image, I found a way to at least get halfway there:
- Move the 3D cursor to the location of your light source (Shift+S / Cursor to Selected)
- Go into edit mode on your object and select all faces
- Press Alt+E and extrude from Individual Faces, then right-click to extrude with 0 length. This will copy all of the faces with connecting polygons in-between.
- Scale the selected polygons from the 3D cursor

This will give you a model with really messed up topology. I don’t know if there’s a way to clean it up automatically, you might just have to do that by hand. If you do that and then apply a boolean modifier, it should give you the correct result.