Need help with multiple textures with Principled shader

Hi,

Ran into a problem. I have a hard surface model that I’m half hand texturing and half procedural texturing. So it’s a train with a base rust layer which has it’s own spec, normal map. Above that I have a paint layer which has it’s own spec/bump map. Finally there is another map above that which is grime/dirt.
All these maps are combined with mixRGB nodes and a black and white mask as the Factor.

How do i do this?

I thought it would be as simple as a principled node for each “layer” and then into a final node but I take it there can only be one principled node…Im stuck.

Okay, good.

Wait, huh? You mixRGB via your mask lookups. That’s how you do it. Mix RGB for your albedo. Mix RGB for your specular. Etc. Plug them all in.

Uhh, no. You can combine as many shaders as you want via a mix shader node. (Here, you’re better off mixing RGB, but if you want, you can mix shaders instead.)

Here’s a screenshot.
The two red lines from the principled shaders make me think im messing up somewhere

I see.
You can’t mix Shaders with the “Mix RGB” node. That’s why the red lines. Use a “Mix Shader” node instead. Once you’ve fixed that you can’t plug it into another principled shader. Use a second Mix Shader and a separate Principled with your “Dirt mask” as the factor input.

Or what @bandages said. Mix all of the color inputs together with Mix RGB’s. Same with all the other channels like normal, then plug all of those into one principled shader.

Just realised the shaders are supposed to go in mix shaders, not mix rbg…but the mask doesnt work as the fac in that node either

ahh ok it is working now thanks!

This may be the case for certain game engines, and if you plan to export it you have to consider it. But for Blender there is no such limitation.