How to add dirt on a direction of the object
If you need to give your dirt a direction, other than the object-Z illustrated in Andrew Price's tutorial, you can 'shine' the dirt onto the surface from any point in the object's space.

If you take the normalized Dot Product of the Normal at the shading point with a vector (which you can visualize as a point in the object's local space), then the resulting 0-1 value looks much the same as if the object was illuminated from that point. You could also put the Normal Texture coordinate through a 'Normal'node, but that doesn't take numerical entries, and isn't quite as controllable.

... You can use the value as the factor in a mix between your clean and dirt shaders.

You also have the option of using a Geometry node &gt; 'Pointiness' attribute as a component in the mask, to add dirt in crevices.