How to get geometry node normals to have wider range. Like tangent normal maps.


Is there anyway to render the geometry node’s normals so that they map the whole direction of the geometry. Currently the normals map to the up direction from the middle up instead of from the bottom to top. I.e. middle is black and goes blue at the top, instead of black at bottom half blue in middle and blue at top. Essentially I would want geometry normals to work like tangent space normals if the camera looks from the top of the model.

Are you sure they don’t already map that way? I can’t use Blender on this computer but I’m fairly sure since normals go from -1 to 1, if you plug them straight into a color socket any negative value in the vector will be clipped to 0. If that’s the case all you need to do is use a mapping node to remap it to 0-1 (EG add 1 and multiply by 0.5, although I don’t remember the order of operations on the mapping node offhand so you might need to multiply by 0.5 and add 0.5).

I’ll try that as soon as I’ll get home. What you said makes perfect sense now that I think of it.

can you show some pics and nodes set up!

happy cl

Here are the nodes. I was surprised that the normals need gamma correction, but they do.

I compared to an Xnormal bake and it’s 1 to 1.

And here is a hairy ass Suzanne:

Direct link to image:

So you add Vector 1,1,1 and multiply by 0.5. Mix final shader by Camera Light Path so that the normal colors don’t bleed on other geometry.

Thanks for the help Captain Oblivion.

can you explain what this last nodes set up is for ?
is it to only show the normal map colors ?

happy bl

I still don’t get exactly what you’re after. Do you want to create a tangent map from the top view? Or from the camera?

There’s a lot you can do with vectors in the node editor, so if you can be more precise, then it wkll be easier for us to find a solution.

Yes, I just wanted to render the normals of the object. Nothing more.

I just wanted to bake hair unto a tangent space normal map to use in games. I know you can transfer the normal vectors to camera space with nodes, but I had no need for that in my current project.

If anyone knows of a better way to bake hair normals, then I’m all ears.

You can read all about my problem in my first post. A problem that Captain Oblivion has solved. Thank you for your interest though.