Using collections as masks for view layers

Blender 2.8 is coming along nicely. But there remains one crucial feature which still seems to be lacking: Using collections as layer masks. I wanted to ask if this feature has been reimplemented and I’m simply not noticing where it is, or if not then when and how it will be making a comeback.

The missing ability I’m referring to is defining a group of objects who act as a mask for the render layer. Anything covered by their projected geometry is not sampled as to improve performance (only AA samples for edge detection) while the content remains clear (alpha channel). In Blender <= 2.79 this could be done with scene layers, but the new approach based on collections doesn’t seem to bring back this ability.

If I right-click the masking collection in the Outliner and go to View Layer, I’m only given 3 options for Cycles: Set Exclude, Set Indirect Only, Set Holdout. There should be a fourth option here: Set Mask. Set Holdout offers closest result so far, as it causes Cycles to no longer render the area and thus improve performance… however it causes a black spot instead of transparency. Perhaps there’s an option to make Blender translate Holdout materials as 0 alpha instead of blackness?

2 Likes

In Film panel of Render Tab, you have to activate Transparency subpanel to obtain transparent Holdout .

2 Likes

Aha! Got it, thank you :slight_smile: Somehow trying this simple solution didn’t cross my mind: I always enable transparent world background for such renders, but in my test case I forgot to and assumed that wouldn’t change how holdout works. Just gave it a test and indeed it’s the exact functionality I was looking for.