@CrowAndSky, the two lighting models for PBR which are spec-gloss (PBR-SG) and metal-rough (PBR-MR) both deal with the idea of metallic materials in different ways and this is important to understand. So let me define what it means to be a metallic material:
- Metallic materials will reflect in their specular reflections the base color of the material. So a red metallic will add red to the specular reflections as well as be influenced by the color of the light hitting it.
- Dielectric materials (non-metallics) will reflect in their specular reflections only the color of the light hitting their surface.
- In both cases, PBR will enforce energy conservation which means that the surface can not reflect more energy than strikes it. This means that if you have a metallic surface that adds its base color to the specular reflections and needs to also account for the color of the light, we are mixing proportions of each color to reach the amount of energy that hits the surface.
For the PBR-MR model, controlling if a surface is metallic or not is easy since you have a factor to say if it’s metallic (metalness = 1.0) or dielectric (metalness = 0.0) and the shader takes care of the reflection color for you. For PBR-SG, you don’t have any idea if a material is metallic or dielectric and it is up to the person authoring the material parameters to interpret the metallic nature of the material surface by adding the base color of the material to the specular color.
However, due to energy conservation, you need to be mindful of how much you are adding to the specular color of your material or you can break energy conservation quickly. If you are controlling your PBR-SG material by factors only (in code setting your colors) we will handle energy conservation for you and this is why you see your diffuse color changing in your PBR-SG materials. Adding color to your specular color will only result in your material looking metallic, which I am guessing is not your goal in the paint material.
To illustrate and give you something to experiment with, I put together this quick PG for you. Basically, the PBR-SG material is on the left and the PBR-MR material is on the right with some IBL light and a directional light. You can see that I have dialed these in to render in the same way:
Note that the specular color for the PBR-SG material is (0.05, 0.05, 0.05) due to energy conservation. This is just enough color to retain the diffuse color without starting to pull away diffuse color from the material as the surface becomes metallic. Note that if you are going to use a brighter specular color, meaning your material is metallic, you need to keep your specular color in line with your diffuse color or the results will be jarring. This is the sample rendered as metallic for both:
Note in this case, I am using a specular color of (1.0, 0.0, 0.0) which will completely override the diffuse color due to energy conservation so it doesn’t matter what the diffuse color is at this point. Just to prove the point, when I made the above render I had also changed the diffuse color to (0.0, 0.0, 1.0) to show you that energy conservation had completely taken over the diffuse color.
It really doesn’t matter if you go the PBR-SG route or the PBR-MR route to your materials so long as you keep in mind that the two models work very differently. Once you have your specular color dialed in to your preferred metal/dielectric values, you can then just use roughness or glossiness to change the luster of your paint. The render below shows a 0.5 glossiness and a 0.5 roughness on the two materials. They will act the same by controlling only glossiness or roughness inverted from one another, of course.
There are other things you can engage like surface normal to also enhance your materials, but you would want to pass that as a texture rather than in code due to the ease of obtaining a normal texture versus writing a convincing one. You could also employ things like clear coat (best with a normal texture) so that you can render light hitting the surface normals of a material embedded in a coating like you would see with coated carbon fiber.
I hope this is enough to get you started with your materials, but please feed free to ping me again if you have other questions.