6
$\begingroup$

I want to make object transparent, but the object itself should not be visible through itself. It's in an animation that rotates it, but at a certain angle I can see parts of the object through other parts of the object, which I don't want. So object should be transparent for everything in the scene, but this object. Below I pointed with red arrows those "whiter" pieces that are semitransparent white over semitransparent white which I don't want to get:

Sample showing problem

Currently it have 3 materials on it (front, back and sides) and transparency + backface culling is done like this:

Transparency Backface culling

For rendering I'm using Cycles engine and Blender 2.73.1. Is there anything I could do to make that happen? I think it got something to do with geometry settings but I have no idea what to set and how.

$\endgroup$
9
$\begingroup$

You can use the transmission depth which is number of transparent points the ray has passed through, this is on the Light path node:

enter image description here

The result image

enter image description here

$\endgroup$
5
$\begingroup$

To get a material with one transparency and completely clear for the backfaces. Add together the Backfacing output on the Geometry node, with the Transmission Depth in the Light Path node.
Use that composite as the mix factor between your color, and completely clear. cycles nodes

This will not only make faces in the same mesh invisible, but any number of objects with this material will become a solid transparent mass.

Here I have three separate objects, no doubled up shading between any of them.
example render

$\endgroup$
  • $\begingroup$ That's a good answer as well, but I awarded Answered to first person who pointed me in right direction. As a programmer I used Greater Than math node and And math node to make it work (really hate 2 as a result of logical operation). $\endgroup$ – Migol Mar 30 '15 at 23:36
  • $\begingroup$ @Migol if you find a better answer to your question you can change your mind and accept a different one. $\endgroup$ – cegaton Mar 30 '15 at 23:39
  • 1
    $\begingroup$ :) understandable. But when using the output to mix colors, a value higher then 1 is not a problem. $\endgroup$ – David Mar 30 '15 at 23:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.