6
$\begingroup$

I have a scene that I'm trying to make work in both Eevee and Cycles. When rendering with Eevee, I need some additional light objects to fake some of the lighting. Is there a good way to set those lights to be Eevee-only so that they aren't rendered when using Cycles?

$\endgroup$
1
  • $\begingroup$ You could add a collection with just eevee lights in it. That way you could toggle them all off in the render. Or if you really wanted to do things differently, you could create a new scene at the top of your outliner. It could have all the same objects, but just Eeevee lights and settings. $\endgroup$ Commented Dec 15, 2021 at 22:35

3 Answers 3

7
$\begingroup$

Summary: setup the light as desired in Eevee then switch to Cycles and disconnect its Light Shader Node output (which is ignored by Eevee).

Steps:

  1. Add the light in Eevee
  2. Switch to "Cycles" Render Engine in the Render Properties panel
  3. Select the light in the Outliner and in the Light properties, click "Use Nodes"
  4. Go to the Shader Node Editor
  5. disconnect the Surface input socket from the Light Output node
  6. switch back to Eevee mode in the Render Properties panel

enter image description here

$\endgroup$
7
  • $\begingroup$ Nice trick. Though the OP need a light that works on eevee only, not cycles only. $\endgroup$
    – Lauloque
    Commented Dec 16, 2021 at 15:01
  • $\begingroup$ This is Eevee only. The light is disabled in Cycles by disconnecting the Surface input of the Light Output node. $\endgroup$
    – Bruno
    Commented Dec 16, 2021 at 15:24
  • 1
    $\begingroup$ That isn't what I understand when I read your first line :o $\endgroup$
    – Lauloque
    Commented Dec 16, 2021 at 18:02
  • $\begingroup$ ok let me rephrase... and let me know if that's clearer! $\endgroup$
    – Bruno
    Commented Dec 16, 2021 at 20:38
  • $\begingroup$ crystal clear now, thanks 😄 $\endgroup$
    – Lauloque
    Commented Dec 16, 2021 at 22:23
2
$\begingroup$

If you set the lamp to use nodes, you can specify in the Light Output node for which render engine it will be used. By default, it is set to All, so what you can do is to duplicate your node tree, have one Light Output for each render engine, and set the Cycles one to use a zero strength Emission shader. Like so:

example

$\endgroup$
6
  • $\begingroup$ Have you tried it? Eevee doesn't support nodes on lights $\endgroup$
    – Crantisz
    Commented Dec 16, 2021 at 15:27
  • $\begingroup$ This "intuitively" should work but it does not. Check it out. $\endgroup$
    – Bruno
    Commented Dec 16, 2021 at 15:27
  • $\begingroup$ It works in 2.93 but not on 3.0, I guess that's a bug :/ $\endgroup$
    – Lauloque
    Commented Dec 16, 2021 at 18:06
  • $\begingroup$ This is not a bug. It doesn't work because EEVEE ignores nodes in lights. docs.blender.org/manual/en/latest/render/eevee/limitations.html $\endgroup$
    – Crantisz
    Commented Dec 16, 2021 at 20:54
  • $\begingroup$ Interesting, because I have been using this trick for a while now. I guess I will have to make sur to not open my old projects on v3 🤔 The manual does say it's not supported "as of now" so hopefully it will be restored at some point! $\endgroup$
    – Lauloque
    Commented Dec 16, 2021 at 22:21
2
$\begingroup$

You can disable objects and lights in the Object data tab → Visibility → Ray Visibility (Uncheck all items in the list):

enter image description here

These options only affects on Cycles, and they are available only as long as the Cycles is active.

$\endgroup$

You must log in to answer this question.

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