Ok i have solved this to some degree. Unwrapping the low res model with a single UV island and smooth group resulted in the bad normal map.
Unwrapping into multiple UV islands (flattern) asigning a different smooth group per island, and rerendering the normal map works as expected.
Why scanline can cope with a single UV island and corona cannot though is unfortunate.
If i would have to guess, i would say that Corona and scanline use different tangent basis. You need to bake normal maps in exact tangent basis that your rendering app is expecting, otherwise you risk to get shading artifacts.
Edit: looking at your example - it could be wrong gamma, or flipped axis issue as well.
Corona has no problems with single smooth group and single UV shell. However errors due to mismatching tangent basis will always manifest more in such scenario, simply because the difference between high-poly and low-poly normals are much more severe. I think i can see some shading errors in your multiple smoothing groups example, rendered with Corona, but they are much more subtle.
Where do you bake normal maps? What tangent basis do you use for that?
Is this is referring to RGB +X+Y+Z or +X-Y+Z, I have that set up correctly.
Max exports as -Y by default, so I just use that until I leave max. Does it go more in depth than that?
I really think I was just trying to use far too large directional gradients across the single UV shell, the tangent space wasn’t uniform due to that, so the surface will probably have shading seams.
I baked from Xnormal also and got the same issue until I did the above fix.
Surprisingly, not many bakers allows user to chose what tangent basis to use for normal map baking. 3ds Max uses its own tangent basis, other bakers use different basis, most often it’s Mikk. If you’re baking in xNormal, then in theory scanline shouldn’t produce artefact free output, since their tangent basis doesn’t match. Anyway, it’s hard to tell what’s going on here just from the pictures. Maybe if you could upload low-poly mesh and normal map, someone could be able to check it out and see if they could find where the issue is.
Marmoset Toolbag is excelent baker and it supports 3ds Max tangent basis, but it’s commercial tool and not exactly cheap if you need it for baking alone. There also is Handplane baker, which is free and i think it supports multiple tangent basis too.
I’ve always had this problem with Corona Renderer / 3ds Max, and have basically avoided it by using high poly geo whenever I can. When working with game assets, however, this is unavoidable and produces very harsh shading artifacts as described above.
There will be times when it is not possible, or practical, to get normal maps for an asset baked in [whatever tangent space 3ds Max prefers].
I’m wondering if CoronaRoundEdges or the new PBR shader will have any say in this?
It seems like the default normal map strength (1.0) is not on parity with the strength (representation) of the normal map in viewports of some popular real-time renderers, e.g. Marmoset, Substance Painter, Mixer, etc.
The normal map strength 1.0 seems twice as strong, thus the correct (consistent) bump strength should be 0.5(?)
Wondering if there is some sort of conversion factor that could make sense of this(?)
Don’t ask me, as i said, i never noticed abnormal normal map behaviour in Corona. As long as you set-up it correctly (gamma, space, tangent basis, handedness, etc.), default strength of 1, should always provide correct result. The only exceptions i can think of, is when you use normal map for special effects, like flakes in metallic paint, or when a normal map is arbitrary authored crap, or when you use it in combination with displacement. In any case, if you observe incorrect normal map behaviour, then at very least you should attach some examples how it looks. Providing offending texture would be even better.