How can I make a shading model that does not reflect specular highlights of lights?

There’s a parameter called “Specular Scale” on a Light Component that allows artists to control the intensity of the specular highlight that is reflected on smooth surfaces. If you make the parameter zero, the highlight gets removed.

Now, I want to make a new shading model that does the same thing. I want a material not to reflect any specular highlights of any lights. Seems like it would be possible within the shader but cannot find the way.

Instead, I’ve set the material’s specular to 0 and faked specular with camera direction and light direction and some math. This gives me a similar result without coding, but it’s not the quality I want. I only want to erase the specular highlights.

Any ideas? Thanks in advance.

To create a shading model without specular highlights, focus on diffuse lighting only. Implement a Lambertian reflection model, which calculates light intensity based on the angle between the surface normal and light direction. Exclude any specular component in your shader calculations. This approach results in a matte appearance, eliminating the shiny reflections typically associated with specular highlights.

For more advanced control, consider using physically-based rendering (PBR) techniques with a very low specular value or roughness set to maximum. This method allows for realistic material representation while minimizing specular reflections. Additionally, you can implement ambient occlusion to add depth and realism to your shading model without introducing unwanted specular effects.