Tser Thanks for the reply npetit, is there any way you could upload a simple scene comprising a Dome light with a hdr texture for lighting, a grid to capture the shadows (but is transparent) and a couple of objects casting shadows to replicate the image that I showed in a previous post. Your expertise is greatly appreciated. T.
It's not possible without rendering out the view of the hdr from that camera to use as a plate texture.
Thanks jsmack, I didn't think it was possible as I have spent quite a bit of time trying to achieve it, I thought that I was missing something, well here's to hoping this gets implemented soon. T.
Tser Thanks jsmack, I didn't think it was possible as I have spent quite a bit of time trying to achieve it, I thought that I was missing something, well here's to hoping this gets implemented soon. T.
generating a backing plate from an hdri is pretty quick, if you want to use the existing features for now.
You mentioned you wanted to see it in the viewport - I missed the bit about the shadow catcher needing to be transparent.
You won't be able to get the ground you're projecting the plate on to be transparent except where the shadows are, in a single render. The background plate lop projects the plate as a material onto the plate geometry (your ground) so you get proper interaction (light bounces and reflections) with your CG elements, sets its holdout mode to Background then uses LPE for the various passes. The plate geometry also captures the diffuse bounces and reflections of the CG elements you are lighting, helping to integrate them onto the plate a whole lot better than just compositing shadows. You can dive into the background plate LOP and edit the plate geo material to customize it however you need - so for example if you have more reflective areas on the plate you can set that up there.
In order to get the shadows on a transparent plate geo, you'd need to do some compositing, but if you need the ground the be transparent, it implies you are using the beauty to do some comp work, so this shouldn't be an issue?
Here's an example hip file with the background plate lop setup and the COP graph to either comp all the AOVs together to match the viewport (it'll be the same math in Nuke or whatever comp package you use) or get the shadows and alpha added to the CG element beauty.
Thanks for that npetit, but I don't want to be compositing to get shadows and you are using Principal shaders instead of MaterialX. Also I am rendering in Houdini using Arnold not Nuke or any other compositor. If I wanted to add extra shadowing as a post I could, but that defeats the purpose. And to cap it off, I only want to be rendering using my GPU's. The work around that I am using at the moment with Karma XPU is to add textures and alpha maps to the grid to blend it into the Dome light Environment hdr which gives a fake ground that blends into the hdr's ground. T.
dlee Hi. Karma does not yet support shadow matte or have a shadow catcher. As a workaround you could output shadowed and unshadowed AOVs and take the difference to generate a shadow pass in comp.
Still no solution in 19.5? What's the holdup?
Create a matte geometry, so add an extra AOV on Karma settings. You will see the shadow pass in mplay
dlee Hi. Karma does not yet support shadow matte or have a shadow catcher. As a workaround you could output shadowed and unshadowed AOVs and take the difference to generate a shadow pass in comp.
Still no solution in 19.5? What's the holdup?
Create a matte geometry, so add an extra AOV on Karma settings. You will see the shadow pass in mplay
Any chance for a working hip file which renders in XPU without compositing?
Labs has an excellent SOP called physical_ambient_occlusion, I have been playing with it and I've found that if I use it on the wheels of my car and with a small grid with high poly count, merged with the wheels, set the grid to use a MaterialX material which has a mtlxgeompropvalue node to take the mask attribute from the SOP, I can use it to drive the transparency of the grid to give Ambient Occlusion under the tyres making the rest of the grid transparent. I am also looking for a way to get the same from the shadows, is there a shadow SOP like the Labs physical_ambient_occlusion node?
Tser Labs has an excellent SOP called physical_ambient_occlusion, I have been playing with it and I've found that if I use it on the wheels of my car and with a small grid with high poly count, merged with the wheels, set the grid to use a MaterialX material which has a mtlxgeompropvalue node to take the mask attribute from the SOP, I can use it to drive the transparency of the grid to give Ambient Occlusion under the tyres making the rest of the grid transparent. I am also looking for a way to get the same from the shadows, is there a shadow SOP like the Labs physical_ambient_occlusion node?
There's "mask by feature", which can calculate shadows using a pointcloud as point light sources or a vector as a directional light source. It can also do ambient occlusion in the same node.
After a couple of days tinkering around, I created a subnetwork node to create the shadows and AO, it works really well for still shots and works perfectly with Karma XPU. T.
Redshift has matte object. It makes it so easy to integrate the cg into the plate in the renderview, without doing allot of custom stuff just to get shadow and reflection into the background from the cg objects.
Heileif Redshift has matte object. It makes it so easy to integrate the cg into the plate in the renderview, without doing allot of custom stuff just to get shadow and reflection into the background from the cg objects.
Hello! Wondering if there is any progress on this topic? I've started another topic as well and just run into this one too. Seems a bit cumbersome not to have proper shadow catcher as it is such a basic thing to have?
Mirko Jankovic Hello! Wondering if there is any progress on this topic? I've started another topic as well and just run into this one too. Seems a bit cumbersome not to have proper shadow catcher as it is such a basic thing to have?
I think you'll have to dig into the background plate (if you want to do that without the bkg plate), but the workflow remains the same, just use the background plate to set the shadow matte output. Not it works with XPU too.
Edited by guilhermecasagrandi - Nov. 16, 2023 08:34:29
I was trying to get something with bgplate but still no luck. As OP mentioned earlier just need shadow on one mesh embedded as alpha in final render image. Like that example he posted earlier with torus casting shadow on ground plane rendered in Arnold. I couldn't get similar result with background plate yet.
Mirko Jankovic I was trying to get something with bgplate but still no luck. As OP mentioned earlier just need shadow on one mesh embedded as alpha in final render image. Like that example he posted earlier with torus casting shadow on ground plane rendered in Arnold. I couldn't get similar result with background plate yet.
That's not how it works. The shadow matte is output as a set of AOVs for use in comp.
That is how it works in couple other renders, how it worked for couple decades back really, and that is what I need for the project I'm currently trying to switch from Redshift to KarmaXPU. I'm not the one doing comping and I have to deliver to the client what is asked for That why I'm trying to make it work like that
Mirko Jankovic That is how it works in couple other renders, how it worked for couple decades back really, and that is what I need for the project I'm currently trying to switch from Redshift to KarmaXPU. I'm not the one doing comping and I have to deliver to the client what is asked for That why I'm trying to make it work like that
I'm sure a simple precomp could generate what you need. I'm not aware of the ability to shuffle parts of aovs into the channel of another directly from the render, so some mini comp is probably required to conform to the desired spec.