6

I'm trying to make it so that the plane is transparent except for the light from the aqua emission. Or in other words, how can I make it so that the plane's white areas are transparent and the plane's aqua areas are not? I want to achieve this without using the compositor, only with material nodes.

enter image description here

Squirrel
  • 835
  • 1
  • 7
  • 24

1 Answers1

11

As far as I know this is fundamentally impossible to achieve in Cycles.

Cycles being a physically based renderer has to find a solution to the rendering equation, this includes calculating all lighting interactions influenced by surface properties. Materials can't possibly depend on the render results; so surfaces properties can't be influenced by the render solution.

As such transparency, emission strength or any other material properties can never be the result of light intensity hitting that material, because it would cause a dependency loop in rendering process. You can't determine surface lighting before you know its transparency, and you can't set its transparency without knowing the light intensity.

So either fake it in the compositor, bake the light into a texture, render in separate layers and separate steps, use a Shadow Catcher material (only available in 2.79+ versions), or change render engines and use something non physically based, or non photo-realistic.

EEVEE being non physically based biased render can use a Shader to RGB converter node that can use light incidence as output to influence material properties.

If you have a single light source in your scene, or if lighting comes mainly from a single direction, you can use other tricks like using a lamp object position as directional material input.

Duarte Farrajota Ramos
  • 59,425
  • 39
  • 130
  • 187
  • Alright, thanks for the answer! I'll find some alternate way, I'm sure. – Squirrel Jul 30 '17 at 00:44
  • 2
    Very clear explanation. I have the same thoughts (explained it in my comment). +1 from me. @Squirrel You won't find an alternate way unless you use the Compositor ;P. – Paul Gonet Jul 30 '17 at 01:11
  • @PaulGonet Actually I meant find some alternate way to use emissions like not use emissions on the ship or something like that (model-based) – Squirrel Jul 30 '17 at 17:56