Changing the specular input for super accurat Materials ?

Hi Everyone,

i was wondering if it makes sense to change the Specular value for different non-metal surfaces for a very accurate repesentation of that Material. Here are my questions:

  1. Is there a visual impact of putting in exact specular values ?
  2. The Documentation says “The Specular input should not be connected and left as its default value of 0.5 for most cases.
    It is value between 0 and 1 and is used to scale the current amount of specularity on non-metallic surfaces. It has no effect on metals.”
    So whats the Default value and is it scaled linearly ?


From what I remember from the Optophysics lessons 30 years ago from my engineering course, Specularity is a property of materials which can reflect light exactly in the opposite direction creating a mirror like effect as the observed in calm water surfaces for example. Thou, a mirror is formed, not all light can possible be reflected because in the real world always there are loss in the form of scattering, in the end meaning the material which you want to give specularity must belong to a domain of materials where scattering is very low.

Definitions apart, specularity is expensive to be emulated near reality in computer graphics, so PBR materials won’t consider it fully if you want fast renderings. That’s why in PBR you can “almost” mimic any material giving 0 to roughness and add metallic, as we do for glass and water. Point is that glass is completely different from water in regards to specularity, and as there are glass with different properties, there are water with different properties, and also metallic works well for these since the blend mode is Translucency.

You would use some value in specular if near it you have roughness, like wet skin (skin here is opaque and you want to give it shiness on the wet parts). The wet part, even shallow, will have specular, reflecting the light, while the nearby dry skin will show roughness absorving most of the light. In this case, I think, is the best example where metallic will not succeed and specular should be used, but for the sake of simplification and speed, PBR will not fully use or translate specular input, I mean, it will work but will not mimic the real world 100% because it is too costly. As it is implemented will not have any impact on performance and as the visual impact, you will notice that from 0.5 to more it does not add much. If you want shiny little spot reflections, you should try in the postprocess volume the bloom effect as Convolution and use the engine provided Convolution texture mask.

I advise to tweak with metallic and roughness and only if they don’t give the results you want, then play with specular, or research the material properties you are trying to replicate and see if it has specular properties or not. If you intend to experiment with the known specular values for the materials you have to ask yourself thou, is it really necessary this precision? Will the scene spectator be that aware of such detail? Unless of course, you are doing this for academic purposes.

Sorry if I write too much >.<

I will try to answer.

  1. Yes, there is.Ranging from absolutely negligible to noticeable.
  2. The default(unconnected) value is 0.5. It corresponds to a reflectance at normal incidence of 0.04, which in its turn corresponds to Index of Refraction of 1.5. Yes, it is scaled linearly, from (Specular 0.0 reflectance at normal incidence 0.00 IOR 1) to (Specular 1.0, reflectance at normal incidence 0.08, IOR ~ 1.7888)

Thanks for your answers.

I know it has only a very small effect but i am after exactly that 0.1 percent of perfection. I am not sure if we will get the exact values for secularity and roughness from scanning but i just try to figure out what is possible and what is worth to put time into.
Maybe if you need sensor simulation it will have more impact ? (feeding real world sensor with render output from Unreal)

From my experience, it’s only worth tweaking the specular values for liquid, translucent, or exotic materials.