Normal Map INVERTED after Baking - Pls Help

Hey guys, i’m having a problem with the normal map, after I bake it from my high resolution object (left, and apply it to the low resolution object (right) through shader nodes, the sculpting form the Multires modifier shows INVERTED on the low resolution object.

(all textures are procedural besides alpha maps on holes … don’t think thats part of the problem though?..)

(Inverted Indentures) - LEFT = MULTIRES MODIFIED & SCULPTED / RIGHT = NO MODIFIER

Baking method used is without cage & ‘selected to active’, as shown by Ryan King Art on youtube (link to video tutorial) everything seems to be fine, the diffuse comes out perfect, the roughness map is good, for whatever reason though… the normal is inverted :frowning:

(I’m trying to prepare game-ready assets)

Any help appreciated! please & ty!

Maybe try apply scale on objects?
Can’t think of much here :confounded:

usually something like that happens when the software uses for example openGL normal maps but your normal map is in DirectX

The quickest way to fix this would be to flip the green channel of your normal map

2 Likes

And an easy workaround is to place a curve node with G channel inverted right after the texture node

1 Like

I had similar problem just a little while ago. Check if low-poly asset normals are facing out. Select all lowpoly model vertices and press shift + N (Recalculate outside). That was the problem for my case.

Check this box for a quick visual feedback

so i’ve double check all scale is the same & all applied

can you give me any node advice on how to do that, sorry i’m not sure what you mean :S
i’m rendering with OptiX

Can you show us the UV in the 3D viewport please?

is this before bake or after? if it’s before, can you give me an example of the node tree? i’m not too well versed on what you mean by curve node with an inverted g channel :S, if it’s AFTER bake, i don’ tknow if it will help me since i need to import this into game engines such as Unreal and if they will have the option for such a procedure :S

also, there is a blue screenshot above that has the Face orientation checked, everything is blue which means it’s all oriented correctly

so this is the uv and the unwraps, the clothing parts were made and exported from Marvelous Designer with correct UV map, so that should be ok :S

also i did a bit further testing with the entire set, and baking the textures made some other problems also… so maybe it’s a software issue :confused: but … does that mean i can’t do game-dev stuff because of it? :frowning:

That’s not that helpful. :slight_smile:
I wanted to see, if the UVs are flipped. Double check that.

If that’s not the case, chances are that the culprit lies in something that already has been mentioned in this thread (negative axis, wrong normal map interpretion and so on)
Another rare case that might lead to this problem is an inverted, negatively extruded cage. But I doubt that you used a cage?

Hi
something is inverted in blender. Mb not in other app. You can try a trick node. For further info on space coordinate https://www.youtube.com/watch?v=ybNpspJZEqE
Your alpha aren’t set properly too. You must set this on tabmaterial bottom.


Hope this is helpfull.

1 Like

It should work either in one or the other, but for exporting purposes you should use it before bake, in order to have a correct final map.

the node i wrote about looks like this:


As you can see the left one is default, while the right one has the green channel (note the G channel selector at the top) inverted.

you should place it right before a normal map node.
In case you use a bump node there’s a dedicated invert checkbox

1 Like

Or just flip to -Y in Bake settings

2 Likes

Yes that works too, but in case you have a texture that needs this kind of trick, placing a node in the material “remains” for future uses while ticking that box, well, you’ll have to remember!
Not to mention that the -Y option flips every normal, and you might have shaders that don’t need it

2 Likes

Sure, all valid points. Just wanted to point out that the Swizzle option exists. Quite useful for different app targets.

Thanks for the info guys, @lsscpp i’ll keep your method in mind for future textures, the ones i’m using at the moment have big node trees (without using principled bsdf) so hard to figure out where to place the curves…

and @mp5gosu , yesterday i used your method of changing to ‘-Y’ and it worked… for a while, i did maybe 10 test bakes but when I opened blender this morning and tried to bake a few more textures, the setting stopped working for whatever reason, now if i change -Y or +Y it makes no difference.

Very frustrated, can’t figure out what i’m doing wrong or program doing wrong, or some kind of cache backed up that doesn’t execute the bake correctly…

@AlmostAussie By the way, cool theme to look at while working on medieval armor, it kinda puts you into the content mood better.

Think of it having a GUI like a cyber-space-ship and your content be of ancient or medieval, it kinda ruins everything. :slight_smile: