Something is confusing for me, so I decided to start a forum thread to hear opinions of users and explanation from devs, as it seems I am missing something.
Goal: render some geometry from above (in this case a sphere), save the result as a normal map, re-use it to have the same "spherical" shading on a flat surface. Should be pretty simple. Typical workflow for rendering something like a repeating button pattern.
So:
Scene setup for baking normals. The sphere is spherical. Its center is in the center of the ground plane. Camera is above it, orthographic projection:
The real sphere rendered for reference:
Then I render:
-shading normals element
-z-depth element (using camera ranges for min and max values)
Then:
Hide the sphere, leave the flat plane only. Add a new material.
Let's start with displacement using the z-depth rendered from the sphere (black = ground plane, white = top of the sphere):
Everything as expected, great!
Now let's try with normals. Add a Corona Bitmap, select the rendered out normal map, plug it into a Corona Normal map, check "flip green". This is what we get:
Huh? That's definitely not a spherical shape! So here is the 1st question:
why?To fix this, set "strength mult" to 0,5 in the Corona Normal map:
This makes the "curvature" more sphere-like. So here is the 2nd question:
why?I also tried changing gamma and flipping red/green/swapping red and green, but this was the closes I could get.
Any hints appreciated! The idea is simply to get the same "shape" or "curvature" of the original geometry on a normal map.