I’m trying to figure out how Emissive Color is working in Unreal. I found 2 issues, which I consider bugs (see the attached uproject):
Unlit sphere with emissive color 1, 1, 1 and inverse eye adaptation will not produce 1, 1, 1 color. The color will even vary depending on the normal, which I would not expect
Default light sphere with emissive color will be affected by the Ambient Occlusion if Lumen is disabled, and not affected if Lumen is enabled. This looks weird to me, since technically ambient occlusion should affect the diffuse lighting, not the emissive lighting. What is the idea behind this behavior?
My question is, what is the correct way to render a mesh with the exact color you specify in the material?
thanks for the repro project. I have had some trouble seeing the color varying depending on the normal on the unlit sphere. Can you perhaps show this in a screenshot?
I think there is some interference from the post processing volume and the engine’s default values when judging colors. To have more of a baseline case, you can turn off the PPV and go into the Project Settings’ Rendering section, set Dynamic Global Illumination Method to None, and turn off Bloom, Auto Exposure and Ambient Occlusion (and Ambient Occlusion Static Fraction) under the Default Settings. Increasing Local Exposure Highlight Contrast from 0.8 to 1 makes the objects brighter as well.
Here is screenshot with tweaked color levels to make the issue more visible
[Image Removed]
This seems to be caused by the tone mapper. If I run
ShowFlag.Tonemapper 0
it works as expected. It’s kind of unfortunate that unlit shading will go through tone mapping that can change colors so drastically. I actually looked for a material node to invert the tone mapping, similar to how you can invert the exposure, but couldn’t find anything.