How to determine the orientation of a face? material

I want to apply effects to foliage based on its orientation.
I cant get the orientation of individual foliage (when it is placed using the foliage tool), so need to find a differentway. Does anyone have any ideas how it can be done?

I have an idea to apply effects to foliage based on rotation.
I can get a value of a single poly/vert in the foliage that I know should be facing a certain direction (in this case, up/blue/z axis)

In this example, the polygon/vert with red vertexpaint should be facing up, which is the blue channel/Zaxis in worldspace, the less upfacing it is, the lower the blue value will be. My question is: how can i modulate properties for the **whole **mesh/UVmap based on one polygon with red vertexpaint? i want to use the value of that one polygon/vert as if would a scalar parametre which will affect the whole mesh.

I really hope this is possible- Have not seen this before on instanced meshes, but if it will work it can be really powerfull.
These tubes are instances - brushed on using the foliage tool:

See that vertex color variation based on the tubes tilt? If i can get a scalar value from that that will affect more than just those vertecies… theres some serious potential.