# Normal Material Input Bug

**URL:** <https://forums.unrealengine.com/t/normal-material-input-bug/392478>\
**Category:** Rendering\
**Tags:** normal-map, normals, unreal-engine, bug-report, question\
**Created:** [May 2, 2017, 2:16pm UTC](https://forums.unrealengine.com/t/normal-material-input-bug/392478 "2017-05-02T14:16:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Davision](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Davision](https://forums.unrealengine.com/u/Davision)\
**Post date:** [May 2, 2017, 2:16pm UTC](https://forums.unrealengine.com/t/normal-material-input-bug/392478/1 "2017-05-02T14:16:13Z")

</div>

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!

 ![136454-wersdfsdf.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/d/f/e/dfe90bacf59b2a35b93fffa08e7b69e949c1e7b9.jpeg)

Here is that sphere tangent normal function I made:

 ![136455-retdfgdfgdffsdf.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/9/e/c/9ec4205e22dac537ed841a53473411c87bcaba6c.jpeg)

][2]

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.

---

<div class="post-metadata">

**Author:** ![Davision](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Davision](https://forums.unrealengine.com/u/Davision)\
**Post date:** [May 2, 2017, 2:28pm UTC](https://forums.unrealengine.com/t/normal-material-input-bug/392478/2 "2017-05-02T14:28:45Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Deathrey](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Deathrey](https://forums.unrealengine.com/u/Deathrey)\
**Post date:** [May 11, 2017, 12:49pm UTC](https://forums.unrealengine.com/t/normal-material-input-bug/392478/3 "2017-05-11T12:49:51Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Davision](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Davision](https://forums.unrealengine.com/u/Davision)\
**Post date:** [September 12, 2017, 12:12pm UTC](https://forums.unrealengine.com/t/normal-material-input-bug/392478/4 "2017-09-12T12:12:43Z")

</div>

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:

 ![213210-unbertertertnannt-1.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/d/3/4/d3414653701d7d33c006e21d4cd0a52dd4872a8c.jpeg)

It is just subtract 0.5 multiply 2 that does the trick
