Download

UE4 automatically and permanently converted my height map to normal map. How can I do this manually?

When I imported an FBX, UE4 automatically generated a normal map from the height map. ** How do I perform this manually? **

I’m not talking about converting a height map to normal map at runtime. I want to know if I can manually use UE4 to convert a height map into a permanent normal map. Thanks.

Nvidia has a free plugin for Photoshop that can convert height maps to normal maps

I understand that, but somehow UE4 did it by itself when I imported my FBX file. **I would like to stick to the exact method that UE4 used to convert my height map to a normal map. **

My FBX file is of a humanoid. UE4 converts the body height map to normal map just fine, but the head height map does not get converted to normal map properly. Now I’m left with one map that UE4 was able to convert correctly and another that didn’t convert properly.

Like you said, I could convert both height maps in photoshop, but I’d rather have them both automatically and permanently converted with UE4.

If the results for the head do not look correct then there’s nothing you can do about that. As far as converting something like a displacement map to a normal map, it’s not going to work quite correctly in any method, since they are representing different things. For a general skin texture it should be OK, but if you have sculpted details in a height map it’s not going to translate properly to a normal map unless it’s very small details.

Interesting, I am not aware of any tools of functions that convert heightmaps into normal maps. Are you sure it actually made a normal map and didn’t just set the compression type to normal map?

Photoshop should be able to convert it just fine using some simple math. The values of the normal map for each pixel are based on the surrounding pixels in the heightmap.

So UE4 doesn’t do any type of converting of height map to normal map? Hmmm. Okay, that helps a lot. So it’s not really a normal map, but it just looks like one for some reason.

The FBX I imported in has no normal map, just a height map aka bump map for the body & head (one for head, another one for body). Somehow the bump/height map turned into a normal map and ended up in the normalmap node of the material.

instal xnormal it comes with ps plugin that works even with newer versions (cc)

Nvidia have a plugin that can convert height map to normal map, but the plugin non longer works with the latest Photoshop (I never got it to worjka anyway). But luckily, Photoshop provide one that does the job pretty well, allowing you to adjust the intensity level as well as the height .

Go to Filter->3D->Generate Normal map.

You will want to checked the invert height checkbox, & the reason is that in another classic case of lack of standardization, the direction of height (green channel) of the normal map differed from application to application.

In any case if the height/depth is wrong direction, you can manually correct it by invert the green channel (Control+ I).

In a material blueprint there’s a NormalFromHeightmap material function that accepts height map as an input and produces normal map as an output, but AFAIK it’s running on a flow, it doesn’t really exports anything.