as Nikola ask me, i open this thread about normal map. After made some test, I finally reach the result that for me the shader Corona normal don’t work in the right way. I speak about the last daily beta built available on OSX system.
I here attach the JPG result and also the C4d r19 project with the 3 sphere and the 3 different corona materials, with the 3 options i choose to test:
1 - normal in bump channel
2 - normal in corona normal shader
3 - normal in corona normal shader, but using a level, with the inverted normal and the color 127 127 255 to regulate the intensity of the normal
The only that work fine is the 3 sphere, with the third material, that is the same way work fine till the A6.1 alpha version. the 2 sphere work fine but the normal is inverted… the 3 sphere, don’t work in my opinion… the result is totally wrong.
Let me know what you thinks
thanks
walter NORMAL_TEST.zip (7.57 MB)
I tried your scene.
First of all, when using normal maps, always use the normal shader or it takes it as a bump/height map and only considers luminance.
The normal map’s channels seem to be inverted. I’m no expert on marble but in my opinion, the cracks should go inwards, not outwards.
The red color in the normal map should be projected from the right but is coming from the left. Seems as if it was made for a game engine.(or at least generated with those setups)
It just looks like the channels were swapped or inverted(doesn’t look like a standard OpenGL normal map),
you can fix that easily in the normal shader’s menu.
Here’s what I changed:
I left 3. as it was for comparison. That’s the look you wanted.
For 2. I inverted Red and Green. The result is the same as 3. (A bit hard to see with that light setup)
As for 1. I used the normal shader again and just inverted the green. Red wasn’t necessary to be changed anymore. Dents go inwards.
Thanks for your reply but maybe you don’t understand the whole problem. The normal map i posted have the name " marble " but don’t be fooled by the name… I could use this normal where I want.. he don’t be necessary use for marble this is only a technical try no matter where are going the cracks.. we agree that the 1 test, normal in bump channel don’t work.. ok!!
After this, the results i " want " is the number 3 cause it is the right way that this normal map have to work.. i’ve taked this normal from a objects collection made for another render engine.. it is a collection made by bentaji.com for maxwell render… so I only try to convert the maxwell material in to a corona material… bringing map and set a corona material… in maxwell render ( not only even vray ) the normal work in the same right way, in corona not… so we could suppose that the problem stay inside corona normal shader and not in the map. In fact the 2 case i show ( normal in corona normal shader ) demonstrate what you are saying.. corona shader we don’t know why, invert the color and the result is what we see: the result it is inverted.
We can’t imagine to have to modify and invert the color of all the normal map we got… the are hundred and hundred, and then the consequence will be that the normal will work with corona but not with the other engine… so in my opinion, the problem stay inside corona, and we could expect that this will be fixed soon.
Could you post the scene of your result with the normal you modify???
Yes, it would be reasonable to think that all normal maps are created equally and are “the same thing” - but unfortunately there are different types of them around, which is why there are the options to Flip Red and Flip Green, to accommodate the different kinds that are out there.
I’m sorry but I made other test, with other normal map and using your method of swapping red or green or both… the result is similar but the corona normal shader don’t work well for me, and the results is not equal to the one gives other engine… the only way to obtain the exact result is using a leveled material as I posted in my scene, and not changing the normal color… OpenGL or direct X I expect that a map, work fine in any engine render… that’s my opinion…
It would be interesting to see the renders from the other engines, as the question you have relates to the final result (but we haven’t seen the final results yet so not sure what we are comparing to, and what the differences are ). Could you share those renders, and the material set ups for them?
Yes for me flip red and green is giving the same result as the layered (with only a slight difference in intensity). It would be interesting to compare to the other render engine.
I rendered the same sphere twice, so it’s in an identical position, and took out the red colour just to make it easier on the eyes. The first image is the “desired result” (that is, using the layered shader - though would be good to see the same render from the other engine for a better comparison), the second is flip red and flip green, no layer, adjusted normal strength to 325 (though there wasn’t that much difference if I left the intensity the same - not that the intensity really matters, it’s ensuring the direction of the surface is going the same way).
When loading a normal map in the texture picker, the options Flip X, Flip Y, and Wide specify how the normal map was created. The most common standard is ‘Flip Y’, so this is selected by default.
Maxwell has a different material system with its layers and it’s known to produce good results but I highly doubt that the normal map would look very different. The only thing that could be wrong is the direction and/or strength of the bumps.
Also, could it be that the other engine uses a different image filter size making the map appear sharper, blurrier?
I find the opposite to be true. DirectX normals work just fine in Corona (at least as exported from Substance Painter/Designer). Would someone from the Corona team please confirm the proper format for normals? Thanks Kevin
Sure they work. It just depends on the settings. SPainter has the option to export the files in dx or opengl format and if you choose the corona preset it’ll make sure that the proper ones are exported.
I’m not using the Corona export settings from within Substance. The normal maps I use are definitely formatted DirectX and they work as intended in the Corona normal shader without swapping or flipping any of the settings - which leads me to conclude Corona uses DirectX not OpenGL. Would be good to hear from support on this.
I tried it with one of my older models which does use a dx map.
Left to right:
**1.**No map 2. DX map(linear of course) in corona normal shader 3. Same as 2. but Y inverted.
In other engines(except for game engines) this map’s Y has to be flipped.
This is now a bit confusing because I often had to invert dx maps in corona.
I’ll see if I find my old sculpt and if so, then bake out a new OpenGL map. But in the meantime, it would be nice to hear from the support.
Yep, seems you’re right. DX Maps work better.
Some maps look very similar to the correct result and with a more complex lighting situation and/or added displacement it’s really hard to notice,
but with one or two directed lights that give hard shadows, it becomes obvious.
I’ve always found normal maps a bit confusing as to what type is being generated and whether I need to start flipping values, etc. How do you guys generate your normal maps? I’ve used Photoshop in the past but I’m not sure what format that creates?
Depends on my needs and what I have as a basis, sometimes I generate my normals from geo in C4D, sometimes I do it in Photoshop, but in most cases I use bump/height maps.