Normal maps needs 1,-1 range in actual application. Its possible that blender does this automatically, just like Unreal! When you have normal map compression on the texture. Thats one of the things it does. So that 0.5,0.5,1 becomes 0,0,1 when its in one minus one range I didn't get that from somewhere, its like that. You can try it yourself by feeding a normal map channel into an if node. and comparing it to some values. Youll see that it has negatives too. So then both of your normal map and that vector had the same error. Both of them were in 0,1 range.
@Obscura ; @zachagreg ;Ok, here's what I've got about normal maps in DirectX:.- red channel drives the x axis tilt, 0 to 255 (left to right, -1 to 1), where 128 is the middle point, perpendicular to the projecting polygon-. green channel drives the y axis tilt, 0 to 255 (up to down, -1 to 1), where 128 is the middle point etc etc.- blue channel drives the z axis depth, 128 to 255 (top to bottom, 0 to -1)Hence, the normal colour depicting a surface that is flat and perpendicular to the projecting polygon is 128,128, 255 (0.5, 0.5, 1 in UE4's decimal colour coding).Why is this not correct? =0
[....]0-255 is equal to -1 to 1 in UE4 right? So 128 is half way between 0 and 255. What's halfway between -1 and 1?