Emissive volumes to help with global illumination work great, but they show up in reflections. I’d like to be able to exclude actors from screen tracing for just reflections. We obviously need them included in traces for global illumination. Is there a built-in way to do this, or could we make some modifications to the rendering code to support this?
Steps to Reproduce
Create a sphere. Add emissive lit material. Enable Emissive Light Source bool. Turn on Lumen Reflections. (With Screen Trace enabled, observe sphere reflected in a nearby reflective surface).
Hey there! We really don’t advise using non-analytic lights to achieve GI boosts for the very reasons you’ve run into. There’s not a way to separate a primitive’s contributions between GI and reflections, since both systems are relying on the Lumen Scene (or the current frame’s pixels) for their results. Any separation would likely require creating separate Lumen Scenes (or GBuffers) for GI and reflection traces, which isn’t something I’d recommend.
If you feel like your scene needs a little extra boost of light, we’d prefer if you used non shadow-casting point or spotlights as their contributions to both the screen and world traces are more predictable and behave as expected. This, obviously, comes at some cost to light the scene, and depending on your game’s timeframe you may be able to explore the use of Megalights to reduce the cost of additional analytic lights. I’ll caution, though, that it’s still rather experimental and has some tradeoffs and quality concerns that are still being addressed.
Thoughts? How many emissive volumes are you using right now?