Hi everyone, I’m trying to reduce the intensity of a normal map based on it’s distance from the camera using Strumpy, but no matter what kind of Operation I apply (Add, Multipy, Power, etc.) it keeps getting an error.
How do I properly change a normal map’s intensity?
To get help with the specific error you’re getting, it helps if you actually paste the error message here.
The color values of your normal map represent the directions of those normal vectors. So in order to make the effect less intense, you need to actually ‘rotate’ these normals (Unlike bump maps, where the values only represent a height). Normal maps are often ‘baked’ from a high-detail model onto a low-detail model, so ‘intensity’ would simply depend on how the both high and low -detail models are modeled.
But since you’re talking about Normal Map intensity, I assume that you got your normal map from a tool like CrazyBump.
You could simply blend the normal map with a ‘flat’ normal map, where all the normals point upward, but there are a few different ways to do that. There’s actually some really useful information about normal maps on the Polycount Wiki. They also discuss Blending Normal Maps Together, and they show examples of various different approaches.
If you don’t care about the accuracy of the result, you could simply use greyscale bumpmaps and let unity convert those to normal maps. That allows you to easily adjust the effect inside of Unity.