Recently I saw a post detailing a scratch texture generator addon. But I figured that it would be easy enough to create the same thing utilizing geometry nodes.
Here is the addon that inspired this:
In this case I am using the generated normal map. And using tri-planar projection to get rid of the UV seams. (You can also just set the projection method in the image texture to be “Box”)
Also to note, if you make the sizes of the scratch curves too large then the seamless tiling effect breaks at some point. But I tried to mitigate that as much as possible.
I also made a shader node group that combines 3 scratch maps. This is to demonstrate the use, and to have a easy to use way of adding scratches to anything.
Where the input inot the map range is the greyscale mask of the scratches, and the input to the normal of the layer weight node is the normal map of the scratches.
So far I have just been eyeballing it with what looks correct and what doesn’t, so if anone knows of a better method then do let me know!