3
$\begingroup$

I want to make a mirror surface that is invisible, but still shows reflections. I found this nearly identical question but the only answer didn't work for me. It works great normally, but when I set the film to be transparent, the reflections disappear along with it: The weird thing is that it looks fine in the 3D view:

My materials set up is exactly the same as in the question I linked above, with a transparent and glossy shader added together:

So is it possible to have both a transparent background and a transparent reflective surface in cycles at the same time? Should I work around it with some compositing?

$\endgroup$
7
  • 1
    $\begingroup$ Check your rendering settings and your output image format. Make sure it's PNG with an alpha channel. $\endgroup$ Commented Dec 7, 2015 at 18:44
  • 1
    $\begingroup$ Related: blender.stackexchange.com/questions/36681/… $\endgroup$
    – Carlo
    Commented Dec 7, 2015 at 18:50
  • 1
    $\begingroup$ Can confirm: it's a PNG with an alpha channel. Something else that might be worth mentioning is that when it's in the process of rendering a tile that has a bit of reflection, the reflection will show up, but it disappears by the time it finishes rendering the tile. $\endgroup$ Commented Dec 7, 2015 at 18:51
  • 1
    $\begingroup$ This is a known bug: blender.stackexchange.com/q/32900/599 $\endgroup$
    – gandalf3
    Commented Dec 7, 2015 at 19:19
  • 1
    $\begingroup$ @Burritosaur it would be helpful for other users who have the same question if you wrote an answer detailing how you worked out the issue and shared your "Fancy node setups" $\endgroup$
    – user1853
    Commented Dec 10, 2015 at 17:11

1 Answer 1

1
$\begingroup$

In the end, I went with compositing an opaque background image underneath the transparent layer and that worked alright, but before that I used this node setup to set the alpha value based on the value of each pixel.

The Subtract node is used as a minimum threshhold. You might have to tweak that depending on your setup.

The first Multiply is just a messy way to get a definite 1 or 0 on whether or not the pixel should be visible or not.

The second Multiply is used to set the final alpha value for the partially transparent pixels.

The Add node at the end is just to make sure that no previously-opaque pixels become transparent.

In my case it ended up looking like this:

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .