Written by me@grafxflow
UPDATE: Shadow catcher is now a built-in material and compositing feature in version Cinema 4D R18 onwards by default.
Part 1 - install the plugin and create a basic 3D scene (This page).
Part 2 - use Advanced Compositing to separate the object and shadow alphas... view it here.
What does the shadow catcher plugin allow?
Here is the scenario, we have a 3D character walking across the floor while casting a shadow. We want to composite this with an image in photoshop. Using shadow catcher we can render the character and shadow (with alpha) without the floor. Very useful.
Before starting... I had been searching for ages to try and find the C4D ShadowCatcher plugin. Luckily after pages and pages I finally managed to track it down back in 2008. So for this tutorial you can download it from this site (It's FREE). It has been tested in Cinema 4D R9 through to R17.
DOWNLOAD: ShadowCatcher for C4D repo
First quit C4D if it is running.
Then unzip the download and place it in the C4D plugins folder (Should be found in the same directory as the application)
MAC = Applications/MAXON/plugins/ShadowCatcher.cob
or
PC = C:/program files/MAXON/plugins/ShadowCatcher.cob
Now start C4D.
Lets create a scene and place a box hovering over a plane.

Then add a light with a target.

Choose the 'General' settings tab and change the following, 'Type' to 'Omni' and 'Shadow' to 'Shadow Maps (Soft)'.

Lets do a quick render...

Now apply a new material to the plain (this is what we want to act as our shadow catcher).


In the new material editor change the properties by unselecting everything except the alpha. NOTE: You may also want to check the transparency if you want to composite the shadow on a background image/video because by default it will be a pure black shadow.

In the alpha properties, click the down arrow next to texture and choose 'Shadow Catcher' (it should be near the bottom). You will also have to select 'Invert' option. If done correctly the material preview should be transparent.

Now lets go to the Render/render settings.

Now depending on which version of C4D the popup window will have a slightly different layout but the options are similar. So choose the 'Anti-Aliasing' option and change 'Anti-Aliasing' to 'Best'.

In the 'Save' tab, check the 'Alpha Channel' (The important bit!).

Choose one of the following:
1. If using in After Effects render as tiff frames and use the import tiff frames option in After Effects.
2. If using in Photoshop render the frame as a png format which will allow the transparency to appear straight away.

We're done!
There is a Part 2 - use Advanced Compositing to seperate the objects and shadows alphas... view it here.
Founder, Grafxflow
I am a Full-stack Developer who also started delving into the world of UX/UI Design a few years back. I blog and tweet to hopefully share a little bit of knowledge that can help others around the web. I build lighting-fast dynamic content engines with Laravel, Winter CMS and Tailwind CSS. Thanks for stopping by!
Alvaro Alvarado
28 Nov 2012
Excelente plugin thanks for the support
me@grafxflow
28 Nov 2012
Glad to help
LmWolfSpirit
28 Nov 2012
Thank you. I am just learning C4D, and this looks like it will be very helpful.
adam
27 Jan 2013
help!
r13 OR r14 can't work...
me@grafxflow
27 Jan 2013
I have used it in C4D R13 and it works perfectly. What is the exact problem you are having?
Paul
12 Feb 2013
Any way of making this work with Sketch & Toon enabled? It just renders the plane with a full, solid white alpha. I've got it working fine without sketch & toon.
me@grafxflow
12 Feb 2013
I am not sure if this will work with Sketch & Toon enabled or if it's even possible at all.
Maybe try:
Paul
12 Feb 2013
Aha - found the solution: I just excluded the plane from rendering by putting it in:
Render Settings > Sketch and Toon > Render > Mode: Exclude
The shadow still rendered on the alpha correctly.
Paul
12 Feb 2013
Wow - what a lightning fast reply! Thanks for your suggestions!
- Paul
me@grafxflow
12 Feb 2013
It seems your solutions better and easier, thanks for sharing it.
Solution is in message below...
Paul
12 Feb 2013
The only thing that now remains is how to anti-alias the shadow. Everything in the alpha channel has lovely smooth edges, apart from the shadow. Very odd.
me@grafxflow
12 Feb 2013
Have you set the Anti-Aliasing to best?
Just did a test render using your solution and looked okay in photoshop.
Paul
12 Feb 2013
I want to have hard-edged shadows, so used the Raytraced (Hard) option. When I use soft shadows, it looks fine. But I've just tried Area shadows, and that gives me a fairly hard-edged shadow, nicely anti-aliased and doesn't take long to render.
me@grafxflow
12 Feb 2013
Try using an 'infinite' light for rendering the 'Raytraced (hard)' shadow.
And in the 'Sketch and Toon' settings choose the 'Shading' tab and set 'Background' to 'Off'.
Andy
25 Feb 2013
Does this work with GI cant get it too work.
me@grafxflow
25 Feb 2013
This plugging is meant for use with any of the built in C4D lights (Spot, Infinite etc) which is capable of casting shadows.
Tom Stracke
27 Feb 2013
Hi!! Great plugin !!! :) but GI Shadows appears not to work. There is a workaround? thx in adv!!
Muhamed
08 Mar 2013
My friend, it doesn't work with GI.
Can anybody help me with it?
Even when i use one of the greyscalegorilla's studio lights, it appears not to work :SS
PS: thanks for the plugin :)
Mack
10 Mar 2013
Hi, i have the same problem, doesn't work with GI, i'm also rendering an EXR multi-pass file and the show pass is also empty.
Thnx for the plugin
Mack
10 Mar 2013
*Shadow pass
Youandi
07 Aug 2013
Works really nice using HDRI with flat floors to generate shadows, saves you some photoshop time