Dark Blue Normal Map?

Have you ever used a normal map in Unreal? If yes, you know that, when you import a normal map in Unreal, the image is shown in a dark blue color instead of the typical clear purpleish color.

Right now, I’m trying to make a Glitter Material and for this, I made a normal map out of rigid bodies… The problem is that when I render this to generate a normal map, I get a dark blue normal map just like if it was in Unreal. I would need the normal clear purpleish color. Anyone know how to convert this blue image into a good normal map?

1 Like

bake normal map for Unreal

happy bl

Ok, I do know how to bake a Normal Map… And it is not to send in unreal, it was an example.

I can not bake a normal as I would normally do because it won’t work with my 4000 plus rigid bodies I created.

What I did then was to plug the normals in the emission of my material but the normals seems to be proccessed lit they ate in Unreal.

I want to convert the image I got (and that I uploaded with my post) to a regular normal map.

I incist : for this project, normal baking will not work!

can you show some nodes set up ?

or may be upload sample file so we can test it

so are you saying this works fine in blender ?

happy bl

There was nothing complicated : it was just a Geo Info nod and I plugged the normal out to the Emission of my principled material while setting specular and diffuse to black…

I found a solution!

I analysed the scene I used to render this and noticed something :

Normally, a normal map use these informations :

Red channel for X
Blue for Z
Green for Y

However, when a normal point to, 100% toward X, it will get a 1 in the red channel. When it point 100% to the oposit (-X), it will get 0 in the red channel.

It means that,technically, if something is 100% flat, it will get those informations :

Red : 0.5 (Because it is exactly inbetween +X and -X)
Green : 0.5 (Because it is exactly between +Y and - Y)
Blue : 1 (Because the normal is 100% aligned to +Z)

My images was missing a part of the information : when the face was flat, it only got 1 in blue but 0 in the two other channels. So, I added a mix RGB node in addition mode and, for the additive color, I added a R0.25 - G0.25 B0 (Wich is a kind of yellowish green) and my normal looks finally correct!

I hope this sollution will help someone in the future!

If you have any other ideas, feel free to share!

Uhh, your mix isn’t the right way to do it. You want to divide by 2 and add 0.5. You can do that with a pair of mixRGB in series (divide, add) with values plugged in from a value node if you want.

You also need to be careful about your color transforms whenever doing anything like this. Don’t want to be running your normals through filmic, don’t want to be converting them to sRGB.

1 Like

show your nodes

normal don’t go into PBR emission !

happy bl

Here it is… But, honnestly, the solution I found works well!

area you using this normal map as a real normal map or doing something else with it ?

I mean normally the normal output should go into the PBR normal input
to make some bumps !

happy bl

Actually, I used the renders as a normal map in my glitter material…

Nice Work DB… !!

Have you tried just using a random color generator, modifying its output to something useable, and using that as a normal directly? Something like attached:
RandomColorToNormalModification.blend (833.4 KB)
May not be suitable in all situations, but I use this in a lot of my materials where I want random normals but not necessarily well controlled ones.

I did tried, but the results were not as good…

Excuse my question but what does DB stands for? English is not my first language! :wink: