Normal Map applying issue

I’m trying to apply normal map to Procedural Mesh geometry. But only two axis work good.
This is object with material with Normal map in Diffuse channel:

As you can see all sides normals are equal.
But magic happens at second screen (World normals vizualization):

On the front and back sides normal map does not work.
As result i have problem on final object:
FinalResult

What could be the problem? Help, please.

Hi, Is it possible to see your material blueprint? It looks like there is some type of rotation going on with the normal?

In the World Normal View, the top normals are incorrect too by the looks (rotated)…

No problem) But i load textures from web as simple image.

Thanks,

If your Normals texture sampler is set to ‘Normal’, you won’t need to do the *2+1 as they will be between -1 and 1 (also, would need to be done on the Blue too) - If you’re having to use another type of Texture Sampler that is correct though…

Also, rather than multiply them out, try the “Flatten Normal” node.

If that doesn’t fix it, one other thing to test is if your material is set to “Tangent Space” - if it isn’t that will also produce strange results…

Ok, i tried it all, but it still havent effect. I imported Normal map and connected pin directly, but normal map still not works :confused:

Are you sure that the “Use Tangent Space” property in the details panel is ticked?

1 Like

Is it?
image
was ticked as default.

1 Like

hmmm - strange! And do you get the same WorldNormal output with that normal map directly plugged in as you did before?

And just to rule it out - are you using that material directly on the mesh, or is there a Material Instance? (If there is, that may be over-riding the tangent setting)…

1 Like

Yes, and cant understand, how it possible. I use material Instance by default, but disabled it and connected directly material with prepared normal map. And it still not works.

I found a problem, but cant find how to fix it. My models haven’t tangents. How can i use normal maps base on normal vectors only?

1 Like

Output the tangent node from the material?

First Try to unckeck tangent space normal?
If you have no tangents, then the result is always wrong anyway.

Then take the final normal map pin, drag and type tangent see what comes up. You should get a tangents from normal map node or similar.
Then drag from that and output to tangent.
Then make sure the model mesh settings are all correct… skeletal meshes for instance have to recompute from tangent via a check box…

Are these models that you’ve created yourself? When importing the model it gives you options to create normals/tangents or import them - the default is to create them - if you can, reimport them with that option… There’s some good information at:

1 Like

@MostHost_LA
I haven’t models like fbx or obj. :confused: Server pass me 4 arrays:
Vertices
Indices
Normals
UVs
And then i pass it to Procedural Mesh to create models. Maybe is there a way to generate tangents from this data?

2 Likes

Aha! Yes, this may help:

3 Likes

Thank you, still not perfect, but normals started work)

1 Like

Pretty sure procmesh has UVs generated. Or your diffuse would not display right.

So the tangent output in the material may work out of the box.