To give context to what I'm trying to do: I'm creating 2D image renders out of my 3D models using a camera, and I'm trying to modularize components of my meshes so I can mix and match them as images together outside of blender.

For example: A body with clothing on top of it, you can keep the same body image but replace the clothing image from different renders for different clothing.

So going by that context, if I have a mesh, is it possible for me to make it hide things behind it while also hiding the specific mesh? (in the example above this would be the body) Here's some images for context: 2 Different Meshes

These are 2 different meshes, you can see the mesh in front should hide anything behind it.

So once we apply the hide/mask it should render the following: Result Image

I don't really know if its possible to do this, but I can imagine I potentially need to use materials?


1 Answer 1


I found a solution. Apparently, you can use a holdout node in the shader editor to get this desired effect.

Create a new material or use an existing material and assign it to whatever object you want to hide and hide whatever is behind it. Go to the Shader Editor and add a holdout node and assign it to surface, you can create the holdout node by going Add >Search and then search for Holdout.


Once all of that is done, you won't notice anything in the editor after the changes and it should look the same as seen below.

Standard no changes

You'll need to render to see it take effect so press F12. Here's the result below, I think you can set the holdout to display a specific color it seems by default its just transparent (which is what I want) when you have the node selected in the Shader Editor just edit the color and experiment around with it.

If you want everything transparent you'll have to change the World settings from the default grey as seen below to transparent.



You must log in to answer this question.

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