The Principled Shader has this one slider called “Specular”. Turns out A LOT of people don’t understand what it really does, and use it the wrong way. So far, I think I’ve seen at least 5 Blender addons and commercial assets where the slider is used incorrectly. So, for the sake of helping clear up the confusion, here’s an explanation of the Specular slider. (I originally posted it on Right-Click Select. Links have been stripped because I’m a new user here.)
- The light reflected off a material is a combination of diffuse and specular reflection. Metals have no diffuse reflection (= black diffuse color). All their color is in the specular reflection. For non-metals, it’s almost the other way around: They have very little, uncolored specular reflection (2-5%), the rest is diffuse reflection.
- In the spec/gloss PBR workflow, the diffuse and specular reflection each get their own map. Blender’s Principled Shader on the other hand follows the metalness workflow, which basically means that diffuse and specular reflection are combined into a single map, known as “base color” or “albedo”, and the metalness map is used as a mask to extract diffuse and specular reflection.
- This “2 maps in 1 map” approach works because almost all the color information is either in the diffuse reflection (in the case of non-metals) or in the specular reflection (in the case of metals). So you can have one map that represents both, plus a metalness map that tells the renderer for any given pixel whether that pixel’s color represents a diffuse or a specular color.
- Now, recall that non-metals aren’t just all diffuse reflection, they also have a small amount of specular reflection. But this information is neither in the base color map nor in the metalness map. So what if you want to adjust it? That’s what the specular socket of the Principled Shader is for.
- To be precise, moving the value of the specular socket in the [0, 1] range will give you 0-8% specular reflection, which is the typical range for most non-metals. The default value of 0.5 will give you 4% specular reflection.
- There’s also a formula in the Blender docs that tells you how to calculate the correct value for the specular socket from a known IOR value.
Now that we’ve cleared up what the specular socket does, here’s how you should NOT use it:
- No, you can NOT plug a specular map from older, non-PBR workflows into this socket. These are most likely totally different things.
- No, you can NOT just plug a specular map from the spec/gloss PBR workflow into this socket. (Recall that the range [0, 1] of the specular socket corresponds to 0-8% of “actual” specular reflection!)