I have been working really hard on the wear and tear/sun damage systems for my new shader, and have managed to finish and integrate both of them.
For the sun damage system, I managed to create a technique using a Euler angle to directional vector conversion, via a rotation matrix. It is able to both correctly place the sun damage effect by pointing a directional light at the spot a user wants the damage to be, and that damage will stay in place regardless of rotation/translation/scale (with no baking or caching required). Here are the results:
The wear and tear system has two modes (that a user is able to toggle between using a check box). The first mode uses additive reflectance to simulate rough materials that have been worn down to a smooth base. An example of that is rusted metal that has a section worn down, showing the smooth metal underneath the rust. The second mode simulates coated materials that are worn down to the rougher base. An example would be a glossy varnished wooden table that has been worn down to the raw wood underneath. Here are some samples of the wear and tear system in action.:
The two systems have been merged together as well, so they can be used in combination:
Both systems have been combined and organized using Maya’s hypershade asset system. This means the entire shading system is condensed down into one asset node. I then published the attributes that control the main shader (an mia_X for the time being), and the two system controls. Here is a screen grab of the asset node and accompanying controls:
I am now going to move on to the decal system and decal propagation script. I should have at least that ready for this time next week; if not the distressed blend as well. Once the shader system is done, I will move on to the more practical demonstrations of the shader using a better object, environment, and textures.