Materials with normal map look strange

I have tried for hours but I don’t get it to work. I try to replicate a metallic surface for a watch body. It’s brushed Aluminum. It has a metallic and a roughness map (combined into one map). The model is loaded using the ObjectLoader and the LegacyJSONLoader for loading the geometry from JSON.

The material also has a normal map, which currently is just plain (128,128,255) for testing purposes. It has that standard blueish/purple tone to it. From my understanding, this normal map should do nothing, as all normals are poiting up. I did not change the normal type (so its Tangent space).

However, if I set the normal map, it does look really strange. The object does not have any depth or form, it looks like the object cuts out the environment, like a refraction map. But the environment is reflection type.

If I remove the normal map via the Browser console (Chrome) it looks immediately good. So there is something fishy about the normal map or the way I use it, but I cannot figure it out.

I have attached a view screenshots so you can see what I mean.

This may be a stupid question, but are you 100% sure that you have applied the normal map that you are describing? The file name says “BumpMap”. Applying a bump map as a normal map would be expected to produce strange results.

If yes, is there a chance that the texture format specifier does not match the format of the texture? E.g. interpreting BGR as RGB.

Thanks so much for thinking about that. Actually, just after you responded it suddenly worked. First, I think I had the normal map flipped (it’s been green, that is b has been 0 instead of 1). Then, to fix the issue, I changed the materials to use ObjectSpaceNormalMaps. Then, I noticed my normal map is not correct and flipped it, but I forgot to remove this setting:

materialInstance.normalMapType = THREE.ObjectSpaceNormalMap;

Once I removed that setting again, it looked good.

So, everyone having strange issues with Normal Maps, have a look at the normalMapType.

Thanks so much for looking into that.

Now, this looks better :-).

4 Likes