The fundamental reason for writing this is because Maxwell has an issue. When rendering a shadow pass, it doesn’t retain directional shadows or any chromatic values from the HDRI environment. You end up with identical “cloud” shadows every time, regardless of HDRI. Shadow render passes are inaccurate.



These are monochromatic and aliased images that are terrible to work with when composing.
To help remedy this situation I’ve developed a rough working pipeline as a workaround.

 

3D
Create a plane below your objects. This will be the plane that receives the shadows.
Right click it, and adjust the properties accordingly.


This is going to allow it to still be rendered, but be invisible to the reflections that may be on any objects.
If this was left on, in the end you may have objects reflecting a white plane that is no longer visible.

Since your plane needs to remain as neutral as it can to ensure that shadows proper colouration, there needs to be a pure-white material. Ideally this material would be self illuminating except for shadows, but until that is developed, this will suffice.

Next: Render the following passes -

You should end up with a result like this:


EmbeddedAlpha_RGB.png


Note: Since these shadows integrity is going to come under extreme scrutiny in the following steps, it’s vital that you let this render to extremely high sampling levels.
Next, go back to 3ds Max and hide your shadow plane. Since we only need to render an alpha mask for our objects, go back to your render settings and uncheck all but the following:


This is going to give you a very smooth alpha channel that you can use to mask your specific objects from their corresponding shadow plane.
Alpha.png
Now hide all of your objects, and enable only a Color pass from your render channels, and render one last time. This is going to serve as your backplate. The bottommost layer during your composition
After this is done, import all three of your images into a single Photoshop document.
Begin by placing your backplate as the bottom layer, the embedded alpha colour pass as the top layer, and your alpha pass as the alpha channel.

Editing:
Your workspace should look roughly like this before we begin-

  1. Isolate the objects by cntrl+clicking your alpha channel, and cutting the objects from their RGB layer into their own. Name this new layer Objects, and rename the old layer, Shadow.

  2. Now begins the only difficult part of this process. We need to help bring as much of our white plane back up to a pure #FFFFFF white. Select your Shadow layer and press Cntrl+M to bring up your curves editor. Click your upper right point on the histogram to select it. Now, designate where you think should be pure white, and ultimately 100% transparent.
  3. Add a point roughly where your selected white point was and increase your clipping to look something like this:

  4. Now, set this layer to multiply. This is going to exaggerate any RGB values “below” it, and clip any white areas as transparent. Since we don’t want super-saturated colours from our shadow plane, Cntrl+U and change your saturation to -50. This will numerically compensate for the exaggerating effects it may have had.
  5. Now, we simply do a quick brush up on a masking for the shadow plane and we’re done.

It’s not perfect, but it’s at least a better alternative than using the shadow pass solely.
FinishedResult.jpg