Dim Specular Highlights

materials

#1

I noticed that specular highlights on Materials (Standard, Phong etc.) are exaggerated and don’t match the actual lights’ color. When a PointLight is only marginally gray (almost black), the specular on the mesh is still bright white.

Those two images hopefully illustrate what I mean:
Standard Material white
PointLight almost black

I would like to achieve a specular highlight, that is not so bright and exaggerated. Maybe there is another way, maybe a simple ShaderMaterial that you could point at. I really need to tone that specular down without making the material more rough.

Thanks,
Marcel


#2

You can define the specular color on the material, see here. But it’s default is already at 0x111111 so you might rather try adjust the intensity of the light.


#3

Thanks for your answer.

Using PhongMaterial and setting specular:

To achieve kind of a plastic/acetate look and feel the shininess would need to be above above 5000 up to 10000, otherwise it looks too rough or too metal. Setting such a high shininess produces the same result of exaggerated white, even if the specular is set to 0x010101.

So, maybe I should rephrase: How can I achieve a sharper specular spot (no roughness), but without metal and without the white being so bright?


#4

So clearly a factor is kind of off, at least for a plastic look, it’s kind of hard to get the specular right.

I’ve added a specularMap, 128x128, plain color 0x010101, which functions as additional factor for specular and the MeshPhongMaterial.specular is now more sensitive.


#5

Question at the devs: Would it be possible to make specularStrength a parameter (ranging from 1.0 to 1.0 / 256.0), so we could avoid adding a specular map of color 0x010101?