How can I set up a shadow catcher plane so that it doesn't catch diffuse light from the other objects? In other words, I want the shadow catcher to catch shadows and only shadows.
The only way I found to obtain the wanted effect is to not make the plane a shadow catcher, and instead use compositing to extract the shadow pass information.
Shadow Catcher: Enables the object to only receive shadow rays. It is to be noted that, shadow catcher objects will interact with other CG objects via indirect light interaction. This simplifies compositing CGI elements into real-world footage.
Is this statement self-contradictory? How can it receive only shadow rays and at the same time interact with other light indirectly? The examples below demonstrate that shadow catchers receive diffuse light from nearby objects and not just shadow.
The 2 examples below are showing the alpha layer only because I have transparency on.
Regular shadow catcher, we can see the diffuse light around the object extending way beyond the shadow:
After setting up compositing in a way that extracts only the shadow info and merges it back with the main layer: