Material: Scale "Strength" of Normal Map?
Hi. This should be very simple I guess. Let's say I have a normal map for a muscular, old and wrinkly, skinny and ripped or whatever type of body and I want to scale the effect with a constant in material instances from barely visible to extreme. I guess it's a kind of contrast I need.
I tried simply multiplying the output of the normal map sample with that scaling factor from zero to one before connecting it to the normal-output. But there's no effect, except when I set the value to zero, in which case the normal map seems to be disabled completely. Anything greater zero produces the original normal map :/
asked Jun 20 '16 at 11:51 PM in Rendering
thats because normal maps are normalized, meaning the 3D vectors that the image describes will always be unit vectors, with a length of 1. so if you multiply all the channels by 1000, they are still proportionally the same, and get normalized back to 1. its like you are scaling the vectors, but not changing their rotation, and the lighting only cares about the direction, not the size of the vectors.
the trick is to multiply the blue channel, and leave the red and green alone. then the proportions will change, pointing the light rays in different directions.
so brighten or darken the blue channel, and leave the other channels alone. (or the other way around: multiply the red and green channels and leave the blue channel alone. either way affects the relative proportions of the RGB channels, which adjusts the angle of the light rays.)
Follow this question
Once you sign in you will be able to subscribe for any updates here