How to apply a material (e.g. dirt) over an object that already has multiple materials? I have a fairly complex object which has multiple materials in different faces. I would like to cover the whole thing in dirt (for example noise texture).

I know I can use multiple UV's (this technique http://www.andreucabre.com/2012/02/multiple-uvs-and-decals-in-cycles.html) but that would require to re-create the existing thing in a different manner (using UV's and nodes instead of multiple materials)

Is there a way to cover the whole thing with a semi-transparent texture?

I'm using cycles.
One way would be to add a node group right at the end of all your materials:



This way you would only need to setup/change the dirt shader stuff once, and it'll be used by all your materials the same way.

The nodes inside the group might be something like this (though it really depends on what you're doing):



More info about node groups:


User Manual
Blender Cookie tutorial