Shadowcatcher without using the backdrop?
chuckerii_94b4afa2a7
Posts: 0
It seems like a few versions back, it was possible to have a shadowcatcher without using the backdrop in Carrara. For example, I have a plane in back of the scene that has a picture of a kitchen counter mapped to it. I would like to have a 3D object in the scene appear to be sitting on the counter, and cast a shadow on a "shadow catcher" plane to make it look like it is really on the counter. (The reason for using the plane with a mapped picture is so I can move the camera around a bit - which is not do-able with a backdrop) Any way of creating a shadow only on a plane? Thanks.
Chucker
Comments
HI Chuckerii
You can apply a shadowcatcher shader to any object, and it'll catch the shadow from 3D objects,.
If you have a Photo, in the Scene "Backdrop" then that image will remain fixed in position, If you move the camera
this allows you to adjust the camera, to adjust the scene / objects to fit onto the image.
You can also create simple geometry (with shadow catcher shaders applied) to accept shadows for parts of the backdrop image.
perhaps if you explained a little bit more what you're trying to achieve,. or showed what you're doing,. it would be more helpful.
quick example:
I took a pic in the kitchen of the worktop,. loaded it into the Scene Backdrop,.
Added a Plane,. created a new shader, and edited it to make a Shadow Catcher shader for the Plane.
Added a Sphere, created a simple shader for the sphere. then rendered.
If you want to composite the object in post, you can still have the backdrop picture and shadow catcher, but in the Render Room check the box that says Render Alpha Channel and leave the one that says, Use Premulitplied Alpha off. At least that works best for me.
Thanks for the quick reply and example. Yes, I know how to use shadowcatcher with the backdrop. In the scene I am creating, the camera animates, zooming and panning around the 3d objects. If I use a Backdrop, that backdrop stays static when the camera moves. I could use the Background, but would have to have a huge image file to wrap around the background. So, what I have is a plane as my background, mapped with a photo. That way, when the camera moves around, the plane with the mapped photo moves with it. I also have a plane under my 3D objects (like you have) using Shadowcatcher shader. But the shadow doesn't show up. I could composite it in post, was just curious if it was possible to do a shadowcatcher without using Background or Backdrop.
Chucker
I'm not sure why the Shadow isn't showing up in the scene you describe
It should be,.
Using a shadow catcher shader in your scene, doesn't depend on rendering the scene using a Backdrop or Background.
You can render the image with only the 3D objects and the shadow catcher.
Render to an image format which supports alpha channel, and you'll get an image which you can composite onto any background, either animated, or still.
Q: What's lighting your objects. ? EG: Spot, Bulb, Distant, HDRI
OK, here's a quick Carrara example file. http://www.littlemanproductions.com/Various/ShadowCatcher.car
There is a plane with shadowcatcher applied, another red plane below it that should reveal the shadow, and a sphere to cast shadow from a distant light.
Chucker
HI :)
The shader in your scene has a Colour, in the Diffuse channel,. they should be all set to none.
The Shadow catcher shader is actually lighting model, so it's designed to mask out anything behind or under it, and catch only the shadows falling onto it,
no colour, bump, highlight etc..
If you don't have an image, or video, in the Scene Backdrop,. then the shadows falling on the shadowcatcher will render as alpha channel and shadow, but will render out as Black.
so what you'll see in the render, is your objects on black surface.
Because the shadowcatcher works with the alpha channel, you'll only see the full effect when you composite the image with a background image or video.
If you want to have the shadows of the objects on another surface (which isn't a shadow catcher)
You'd hide the shadowcatcher object, and render as normal.