I want to make a bread shader so that it is darker on top than on the bottom. I know how to make color, bumps and everything else, I'm only interested in a black and white mask for mixing colors. Of course, I can use the usual gradient texture, but I want this transition to be less direct. So far, I'm not doing very well. I hope that I clearly wrote, you can see in the picture what I want.
Here, try this setup:
The "mask factor" you are looking for, I achieved by rotating (and slightly moving) a Gradient Texture, and controlling it's cutoffs with a ColorRamp. I then used it as a mix factor for the "bread colors" and adjusted the ColorRamp until it looked right. (This works very well to control the darkness levels).
I then mixed a Noise Texture and a Musgrave Texture to give a scattered displacement pattern, and I used it's inverse as a roughness factor.
I thought the bread colors looked too plain, so I combined yet another Musgrave Texture with a couple of Noise Textures and multiplied them with the bread colors to transfer the darks only.
Lastly, I added the whites from a clamped, detailed musgrave texture to get the "flour coating" on the crust of the bread.
I'll also upload the .blend in case you want to play with it. I even threw in a couple of extra procedural textures (The pan and the table) that can be used as examples.