I am still trying to figure out a workflow to properly render an object and its shadow on the ground in a way that I a) only need to render once, b) can cleanly turn off the shadow, and c) have both elements on a transparent background.
Right now I always have to render twice, once with the object, while the (matte) ground plane is set to not affect the Alpha, and once with the ground affecting alpha, while the object is set to be invisible to the camera:
Simply using an ID matte to mask out the object doesn't work here, because the edge were the object and its shadow meet clearly has the problem of two anti-aliased edges being on top of another, resulting in a visible seam. So I was hoping that the VRayObjectSelect element would help me out here, as it does somehow create a non-premultiplied alpha for its object, which in theory should result in a clean edge. Unfortunately it's not so easy:
As you can see, while the teapot element does at least have a somewhat clean edge (it does look non-premultiplied, but not quite as clean), the ground shadow element doesn't follow suit. I would have assumed that both elements would "extend" their pixels outwards into "zero alpha space", so that the edge where both elements meet wouldn't suffer from a seam, but to no avail.
So, anybody have an idea how to properly set this up? Is this possible at all? Maybe setting the ground to being a matte object isn't the way to go? How exactly do I use the "filter"-output of the ObjectSelect element?
Right now I always have to render twice, once with the object, while the (matte) ground plane is set to not affect the Alpha, and once with the ground affecting alpha, while the object is set to be invisible to the camera:
Simply using an ID matte to mask out the object doesn't work here, because the edge were the object and its shadow meet clearly has the problem of two anti-aliased edges being on top of another, resulting in a visible seam. So I was hoping that the VRayObjectSelect element would help me out here, as it does somehow create a non-premultiplied alpha for its object, which in theory should result in a clean edge. Unfortunately it's not so easy:
As you can see, while the teapot element does at least have a somewhat clean edge (it does look non-premultiplied, but not quite as clean), the ground shadow element doesn't follow suit. I would have assumed that both elements would "extend" their pixels outwards into "zero alpha space", so that the edge where both elements meet wouldn't suffer from a seam, but to no avail.
So, anybody have an idea how to properly set this up? Is this possible at all? Maybe setting the ground to being a matte object isn't the way to go? How exactly do I use the "filter"-output of the ObjectSelect element?
Comment