Normal Material Input Bug

When putting something inside the normal input inside a material that is not a Normal Texture it requires a World To Tangent transform which makes no sense! Either it is required for normal textures AND everything else or for neither!

Here I made a procedural spherical tangent normal, yet it is still required to transform from world space to tangent to be correct. As you can see in the bottom left the material is set to Tangent Space Normal! I don’t even understand how there should be any logic behind it, it is tangent procedural and is then converted from world to tangent while the material is set to tangent space and that is what works correct!

Here is that sphere tangent normal function I made:


You can easily test this by rotating the model that has the material applied along the face normal axis, the lighting should not change since it is Tangent space normal.

That even doesn’t work either with World Space to Tangent Space! It just looked the most correct when rotating. The only thing that works is converting my procedural normal to a texture and plugging that in the normal input.

It is really unclear what are you trying to achieve here.

The weird thing in UE4 is that normals have to be from -1 to 1 when put into the Normal. It does not seem to be mentioned anywhere nor do I know the reason. But that is how it works. Here is my fixed generated Sphere normal without using any textures:

It is just subtract 0.5 multiply 2 that does the trick