1

I'm not trying to transfer high-res normals to a low-res model, so I might just be doing it wrong, but what I'm trying to do is just output the normals of the sphere onto a texture that I can paint on to manually try creating some cel-shaded looking normal maps.

When selecting the sphere, the texture I want to bake onto, with the bake type set to normal, all I get is a flat blue color, and this is how it looks when I plug it into the normal channel for the shader:

enter image description here

What am I doing wrong here?

meatandmahjong
  • 85
  • 1
  • 1
  • 4

2 Answers2

1

The blue color you're getting should be $RGB(0.5, 0.5, 1.0)$ which corresponds to a normal value of $<0,0,1>$. The normal vector has a range of $<[-1, 1], [-1, 1], [0, 1]>$ In Tangent space, as I understand it, the vector $<0, 0, 1>$ is perpendicular to the the surface. As the first value is changed, the vector tilts left and right. As the second vector is changed, the vector tilts up and down. The third value is adjusted so the length of the vector stays equal to 1. e.g. $z = \sqrt{1 - (x^2 + y^2)}$. Of course we should limit $ x^2 + y^2 \le 1 $.

CheckNormal+y MatCap

This is illustrated by the "Check Normal + Y" matcap, which is based on the rendering of the normals of a sphere in Object Space. You can find an EXR version of this image in your Blender install folder under datafiles/studiolights/matcap. You'll see ... not what I expected ... I'm going to submit this now while I play with generating my own exr...

To be continued...

Ron Jensen
  • 3,421
  • 1
  • 9
  • 27
0

Ok, it's because I plugged it directly into normal -- I have to use a normal map node. That wasn't immediately clear

meatandmahjong
  • 85
  • 1
  • 1
  • 4