This shader works by tracking the cameras position in world space and panning the texture a set amount towards it from all directions, effectively scaling it.
The strenght of the scale is controlled on a per-layer bases which allows me to control each layer individually.
The camera position value is transformed from world to tangent space which allows for it to work from multiple angles.


Rain Shader

The rain shader works using basic in engine vertex painting to blend between textures with a mask to control the edges of the blend.
R=Blended between two asphalt textures to break up tiling
G=Added wetness to the surface with the edges being driven by a mask. It will also move the vertices down in world space to allow for more variation in the surface.
B=Adds rain drops
The initial rain drop I rendered out of Maya and then used Nuke to place, offset, and tile a video.

The shader will also tile the texture in proportion to the scale value which stops the texture from stretching when the object is scaled.

Snow Build-up Shader

Scaling Sign Shader