Inverse Holdout or Mask specific objects
Ability to specify object/mask to draw object(s) inside. So something like in PS/AE/what have you.
Masking is very widely used technique in motion graphics and compositing, and is currently very difficult to achieve in Blender
There is a complex way to composit view layers and Holdouts to achieve this, but that doesn't work in the viewport, just final render.
As Blender has taken steps toward viewport compositing, this would be a huge addition to WYSIWYG viewport for motion graphics work.
Holdout currently can mask out objects and collections, but the problem is that it blocks everything behind it (unless using view layer compositing which doesn't seem to work in the viewport).
There is probably performance and technical considerations. But at ID-masks worked back in the day. A performant way to do this in OpenGL is to just block/show everything under a certain Render Queue. But perhaps EEVEE/viewport works in some other way?
Attached is a proposal for UI :-)
3 Comments
I guess this would be great using a stencil buffer so it's super fast even on extreme complex objects.
I agree. Would love to see the clip mask being implemented.
Related: blender.community/c/rightclickselect/6Lfbbc/