Normal map import - UE4 changes the normal map?

Hello forum!

So recently I got started on learning how normal maps work, how to create them and how to apply them.
I’ve noticed a strange thing when importing my normals though.

Let’s take a look at this normal map for a basic crate:

Attaching this normal map in Blender looks alright, but when applying it to UE4 Material, it looks quite different.
Let look at the imported normal map:

This one looks fine aswell, and I’m expecting the best result.
But now let’s look at the normal map applied in the material editor:

tmp.JPG

As you can see here, it looks like UE4 is “over exaggerating” the normal map, and the final result on the static mesh, doesn’t really look that convincing:

8d0110c32809a512ba9b11a72926c0e49fe6b3f4.jpeg

Could anyone help me out here? I don’t know why the normal map applied to the material makes the mesh look this “terrible” (It doesn’t really look terrible, but it sure could look better)

That is correct–because of the way normal maps are processed, that’s how they look in the material editor. In your case, the normal map looks to be pretty extreme in the first place, I would think it would look similar when applied to a mesh in Blender and then rendered.

Though you might want to invert the green channel, it looks like things going out should be going in.

So basically turn down the normal mapping? Make it less “extreme”?

ue4 uses the full potencial from normals if not limited. Adjust your normal by setting the height value at least down to half. Or intensity… comes to the programm you create your NS.

It looks like you have used CrazyBump to generate that normal map. In that case put “Shape Recognition” to 0. And since the wood has a flat look to it turn down the “Large Details” and “Very Large Details” quite a lot.
Again, not sure if that is CrazyBump but if it is then go into the preferences and set Y Axis to “Down” and X Axis to “Right”.

Also it’s better if you keep your texture sizes a power of two meaning reduce that texture size to 512x512. :slight_smile:

All good tips. I’ve turned down the intensity which seems to fix some of it. I’ll try a few things tomorrow and pose my progress here.
This is what it looks like at the moment:

df2561c45b8fe91d1e6c8acbae8358efe07e082f.jpeg

the material looks perfectly fine to me tho XD but these wheels… omg XD impossible to drive with!

Hah. WIP wheels mate xD I’ve learned myself to import into UE4 as fast as possible to make sure the size etc. fits the engine. :slight_smile:

You think the material looks fine? At least some of us do. I’m sort of a perfectionist, and this does not satisfy my expectations :slight_smile:

Talking about resolution and detail it clearly lacks yes but for WIP porpuses its fine. If have a lot of those objects who have a lot potencial unused, they will be refined after the important stuff. Actuall gameplay. :smiley: Dont harm yourself and use some AO and Paralax with a specular map. 5 Textues for each object. Have fun :3

I’m still learning how to use UE4 and Blender (for my 3D models), so details is something that I haven’t worked much with yet. I’m still learning the basics such as normal mapping, spec mapping, UV unwrapping etc. :slight_smile:
At this point, I don’t even no how to make these look better :slight_smile:

Well
Create an AO shape in Blender… I would never tell someone to use blender since maya is student free…
Create a spec map that highlights the nails very heavy
Create a TEXCOORD detail map within a lerp to add grain to the BaseColor

Have fun

… Great! Ehm.

Numero uno: AO shape? That’s new. Haven’t heard that before: RESEARCH COMMENCING!
Numero dos: no one said I’m a student. I’m simply spending my spare time playing with UE4 :slight_smile:
Numero tres: TEXCOORD? Again; research commencing!

The only thing that made sense to me in your reply was the spec map…

Thanks for the tips though. :slight_smile:

You’ll get the best results if you’ll model, sculpt or paint highpoly detail then bake them into normalmap.
And you’ll get the worst details if you process photograph with filter to create normalmaps. (although creating normalmap from heightmap is another story).

To sculpt in blender, add object, switch to “sculpt mode”, press “Ctrl+D” to enable Dyntopo then sculpt away.
Number keys 0-9 select brushes (0-9 for the first row, Shift+number for the second row), F key resizes the brush, Ctrl+Left mouse button inverses the brush. Press T to bring left “tool” panel and press N to show right panel, shift+Space to maximize current viewport.

https://www.dropbox.com/s/w5gg7txaaphwo17/0001-0250.avi?dl=0

For normal map baking/creation google “blender bake normal maps”.

Please note that sculpting with dyntopo destroys texture coordinates and vertex colors.

I’m very much aware of this method, and I know that I get a better result when baking high poly onto low poly, and that’s why I’m looking for a 3D modeller :slight_smile: Just playing around myself :slight_smile:

Progress after today

    • Applied AO*
    • Added more detail to the wheels*
    • Fiddled with the spec of the crate to make shiny screws*

509ed174301b216d9b89ad54e4b6c7e1121e1755.jpeg

Rather, it is normal to come out like this.
The value range of the texture is 0 to 1.
However, the normal range in Tangent Space is -1 to +1.

Therefore, in order to match the range of the texture to the range of ‘TangentSpace’, the value must be modulated as shown in the expression below.

(value * 2) -1

Originally, this formula should be done in Materials, but as soon as Unreal recognizes it as normal texture, the ‘texture asset’ itself applies this formula.

The only reason your texture looks too blue and too dark is because you can’t see the -1 to 0 range in the texture.