Diffuse/Specular vs BaseColor

Both material workflows use different map methods to handle color, but they are closer than you might think. In fact, the BaseColor map in a PBR workflow is essentially the Diffuse map combined with Specular map of a Spec/Gloss workflow. This is one of the reasons why it is sometimes easier to create Metallic PBR materials first, and then convert to Specular/Gloss.

Diffuse & Specular (Spec/Gloss Workflow)
In a Spec/Gloss workflow, the Diffuse map strictly affects the base display color of the material. This has no effect on other material properties like reflectivity.

Diffuse map for a flintlock pistol model.

Reflectivity is controlled by the Specular Map. The Specular map controls both reflection color and reflection level or value.

Specular map for the same flintlock pistol model.

For Dielectric materials, all material color comes from diffuse map while the Specular map remain grayscale.

Dielectric material color is present in the Diffuse map. The highlighted dark areas are metallic sections of the material.

Metallic materials almost always consist of dark diffuse colors and get the majority of their color from the Specular map.

Metallic areas of the material get all their color from the Specular map, as highlighted above.

In general, it’s good practice to keep Diffuse and Specular map values between 5 and 230 RGB. Going above this range can cause bright values to ‘blow out’ or appear over bright in different renderers. Anything lower than this range and the value can clamp to black giving no color contribution at all.

The Specular value should not be lower than the Diffuse value. Having a Specular value darker than your Diffuse value will cause highlights to disappear or cause dark artifacts. Realistically everything has some highlights, including matte materials.

BaseColor (Metallic PBR Workflow)
In a Metallic workflow, the BaseColor map technically contains both the Diffuse and Specular map information, while the Metallic map determines how much of the BaseColor map is interpreted as Diffuse output or as Specular output. The more metallic (white) an area on the map is the more it will have reflected color.

The BaseColor map contains both the dielectric material values from the Diffuse map and the metallic material values from the Specular map. The Metallic map identifies these areas.

As the metallic value increases the BaseColor value is split between Diffuse and Specular contribution. The interpreted Diffuse value is darkened with a black value while the interpreted Specular value is a gray that is blended with more of the BaseColor value.

As the metallic value increases notice how the change in the interpreted Diffuse and Specular values in relation to the BaseColor which remains constant.

A Metallic value of 0 makes a basic non-reflective material. The BaseColor will contribute only Diffuse color. Specular values will default to a mid grey tone.

This Example illustrates 0.0 Metallic value on a 255 green BaseColor value.

A Metallic value of 1 makes a completely reflective material. The BaseColor will contribute only Specular color values. The Diffuse color will default to pure black.

This Example illustrates 1.0 Metallic value on a 255 green BaseColor value.

Setting your Metallic value between 0 and 1 will blend the BaseColor a percentage. Think of it like pouring paint from one container to another. Diffuse contribution will darken toward black (emptying cup) and the default Specular grey will get more of the BaseColor added (filling cup) the higher the Metallic value.

This Example illustrates the transition of color between Diffuse input to Specular input as the BaseColor as the metallic value changes.

This chart illustrates the rate at which map contribution values are interpreted as metallic value increases as shown in the previous image. Note the more rapid transitions when Metallic values change from 0.0 to 0.1 and 0.9 to 1.0.

It is important to note that having a 0% black or 100% white Metallic map value can cause your other map values to be incorrect since you will have either a matte surface reflection value or a completely reflective surface only. Since the initial reflectivity of the material is out of range the Roughness and BaseColor have to compensate. This can lead to inconsistent values, even between similar surface materials.