1
$\begingroup$

I've been modding this model to use in my animations, and thought it would be cool to add an emission shader to the pupils of the eyes (the model is a robot). I was fine with just having the pupils glow, though I do plan on trying to find a way to condense the light into a laserbeam type style later on, but when I added an emission node (not from the principled BSDF), it would not show up at all in the render. Annoyingly, this problem is the same for both Eevee and Cycles:

enter image description here

Even weirder, as seen by the picture above, the emission clearly is working in the material preview. but look at the picture below, where I go into the rendered preview:

enter image description here

It does not render. Obviously, this is not just the preview I'm talking about; I'm getting the same results when I hit F12. Like I said, whether it be Cycles or Eevee, I'm still getting the same results, so I do not believe that the render engine is the problem here. Thinking that it might have just been a problem of that specific material on my eye model here, I opened up a new .blend file with just the default cube (no lights). To that, I added an emission node and turned up the strength to 1000000 (which is, of course, useless, but it effectively demonstrates my point), and checked the rendered preview:

enter image description here

Same results for both Eevee and Cycles. As one more test, I tried just simply turning on the emission in the Principled BSDF, and was surprised to see that the emission was suddenly working again:

enter image description here

Not only that, but it was working just as it should in both render engines (showing up in Eevee renders, and actually illuminating surrounding objects in Cycles). This led me to believe that there is a problem with my node setup, not the render engines or anything else. And I suppose that makes sense; I feel like I'm missing something from my material that is supposed to make the emission work, but I'm not sure what it is. I checked the normals for my mesh, too, but nothing was flipped. I'm not sure what else to do. Can someone please help me with this?

.blend file: https://drive.google.com/file/d/19OLOnKs4F2CHZ5Y2gCsV-KMPAkh-TNS3/view?usp=sharing

$\endgroup$
13
  • 3
    $\begingroup$ Why do you have the “Shader to RGB” in there? You should connect the output from the Emission Shader directly to the Surface of the Material Output. $\endgroup$ May 4, 2021 at 16:58
  • 2
    $\begingroup$ yes, please attach the blend file $\endgroup$ May 4, 2021 at 17:06
  • 3
    $\begingroup$ You can use a 'Mix Shader' node to combine mulitple shaders - so the emission only relates to the pupil (or whatever you desire). Yes - probably easiest if someone has your existing material to make changes to better demonstrate. $\endgroup$ May 4, 2021 at 17:06
  • 1
    $\begingroup$ You use the emission shader, but then connect it to Shader to RGB node. Therefore you only get the information about the color the shader would generate. The behavior of the shader is however lost. Now, you take that color and put it into the Principled BSDF > Base Color node. You can't see the base color without any lightning by design. If you want to emit that color again, connect it to the emission slot - the one that you changed manually while testing. $\endgroup$ May 4, 2021 at 17:29
  • 1
    $\begingroup$ "the emission clearly is working in the material preview" - because there's implied lightning in the material preview - but it's not emission working, it's normal color being lit up by light. $\endgroup$ May 4, 2021 at 17:30

2 Answers 2

1
$\begingroup$

Note: the solution I found, for whatever reason, only works in Eevee. So, if anyone has a better answer that also works in Cycles, please share it :D

Thanks to all the people who commented on my question, I figured out that the emission was converted to color and thus wouldn't emit any light. The only way to get the pupil to emit light again was to turn it back into a shader. Here's how I did it:

Take the "B" (in my case) from the separate RGB > Emission (strength) > Shader to RGB > Emission (in the Principled BSDF) (put color to color, not alpha to color) enter image description here

Like I said, this only works in Eevee. The result should look something like this:

enter image description here

$\endgroup$
3
  • $\begingroup$ I won't mark this as the answer if someone has a better one $\endgroup$ May 4, 2021 at 22:55
  • 1
    $\begingroup$ Shader to RGB node only works in Eevee. $\endgroup$ May 5, 2021 at 11:20
  • $\begingroup$ @MarkusvonBroady ohhh thats annoying >:( Do you have a quick explanation of what I should do so it works in Cycles? $\endgroup$ May 5, 2021 at 22:16
1
$\begingroup$

Real answer: Based off the hints all the people in the comments were giving me, I came up with an answer to solve the problem for BOTH Eevee and Cycles:

"B" part of RGB separator (in my case, since this separates the pupils) > Color ramp (optional, since I used this just to change the emission color) > Emission > Mix shader (plug the BSDF + Emission node into this) > Output

enter image description here

Here's the result in Eevee:

enter image description here

Here's the result in Cycles:

enter image description here

$\endgroup$

You must log in to answer this question.

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