THE ISSUE:
Many roblox developers are making horror games that rely on pitch-black lighting as a game mechanic, as this can force you to use a flashlight or other light source that might be battery restricted, etc etc, my point is it’s important. Don’t get me wrong, its certainly possible to make a game pitch black, easy even, but it requires a sacrifice. No matter what tutorial you find online on how to make things pitch-black in your game, you’ll see "make the ambients black, set the environment diffuse scale to 0, and set the environment specular scale to 0. Most people move on from here and don’t question it, but setting specular scale to 0 has some negative side effects. Most PBR materials and textures have “metalness maps” which makes metal look… well, like metal. This metalness value is multiplied by the specular scale, and from what I can tell by google searches, this is exactly what specular scale should do, and that’s perfectly fine. The problem comes when having specular scale above 1 (thereby enabling metalness in your PBR) allows you to see in the dark. This forces horror game developers that intend to use darkness (and most do) to choose between metal that actually looks like metal, and this core game mechanic. This is not a decision that game developers should have to make. One could argue that although this is entirely inconvenient to the developer, this is still an intentional feature of specular scale: to allow you to see in the dark a bit, however, the finicky and odd circumstances that affect this visibility leads me to believe this is not intentional.
VIDEOS AND IMAGES
Video demonstrations of issue (game download in Reproduction Files section)
I have been working on a map for my game for a while, and I think it is a prime example of what I am talking about. As I mess with the specular scale, you can see a room on the left side of the viewport coming in and out of visibility, while the rest of the hallway oddly doesn’t, for reasons I cannot ascertain just yet.
On the topic of this issue’s buggy nature, this issue is greatly exacerbated whenever I put a ceiling over the area. In the video I scale a regular part (not neon, no surface light, etc) over the room to make a sort of ceiling, and suddenly everything becomes very visible in the dark. Turning off the specular scale fixes this.
For reference, this is what the room looks like when well lit.
I will admit, it isn’t exactly EASY to see in the dark with this, but it is possible, and is greatly worsened by raising the contrast of your monitor. I think most developers would agree that raising the contrast of your monitor should not give you a substantial advantage in their game. The files of the ABOVE PICTURES are included as the reproduction files.
More demonstration (no download for this though)
Room with Specular Scale 1 (slightly visible):
Room with Specular Scale 1 (contrast raised to match what I see on my slightly higher contrast monitor):
Room with Specular Scale 0 (completely dark):
Demonstration that raising specular scale DOES have a substantial affect on metals
Ceiling fan with Specular Scale 0:
Ceiling fan with Specular Scale 1:
I think it is inarguable that the latter looks better, and this same thing applies to all metallic objects.
SYSTEM INFO:
OS: Windows 11 Home 64-bit (10.0, Build 22631)
Processor: AMD Ryzen 7 5800X 8-Core Processor (16 CPUs), ~3.8 GHz
Memory: 32768MB RAM
Display 1 Name: Radeon RX 5500 XT
REPRODUCTION FILES:
Feel free to mess around with the specular scale value here, as well as whether or not the larger roof over it all covers the scene.
Specular Lighting Issue.rbxl (207.1 KB)
Expected behavior
If everything were working correctly, I’d expect that developers would have the option to have the metal look at all decent in their games without breaking the immersion or game mechanic of pitch black. Simple as that. The EnvironmentSpecularScale setting in lighting should be updated to only affect the appearance of metal and not affect your visibility in the dark. If necessary, a secondary setting could be added that does affect visibility in the dark. I can promise this won’t have any compatibility issues with games because I don’t think a single game out there relies on the ability to see weird outline type things of metal in the dark using this setting, but many many games (especially of the horror variety) relies on your inability to see in the dark.