Download

Export altered Normal Map from UE4 with bluerpuints

Hello guys.

Currently I’m working on material customization blueprint and I have a problem with correct exporting of normal map into an external file.

What I am doing:

  1. http://c2n.me/3Mm9B7G - there are 2 texture parameters in master material: 1 is for pre-baked normal map and 2 is for detailed normal map
  2. http://c2n.me/3Mm9Fju - here is the section where I set flag *bake_normals *and move information into an *Emission *input.
  3. http://c2n.me/3Mm9MVQ - then I draw material to *render target *variable and then to export render target on hard drive as hdr image.

The main problem is visible here: http://c2n.me/3MmaeLR

As you see, complete texture is far from original; I understand that I lost some data when I set up compression for Normal Map. Maybe someone knows, is there any correct way of exporting Normal Map out of Unreal Engine? Help, please, because I’ve already broke my brain.

Best regards,
Max.

Oh, one notice: the small lines on the altered normal are from detailed normal map; they must be there.

Change the Normal Texture Compression Settings to Default and disable sRGB and change the Texture Sample Sampler to Linear Color.

or you could add 0.5(127) R and G to your output in your texture editor app.

This will not work, because in this case, my Normal Map work incorrectly:
http://c2n.me/3MmbXH6

Oh, seems like you moved me on right direction. Thank you!
I will show the results later.

Can you share your solution please? I’ve been banging my head against this same problem more or less. I made a tool that height blends several texture layers together to be baked into a single set of textures. I’m using EditorInterface2D as the input texture compression (it’s uncompressed) so quality loss doesn’t get pushed into the new texture set. However, I can’t figure out how to get my normal map to bake properly. It’s “looks” fine inside the render target when I open it up, but if I create a static texture from it, it’s not correct … at all.

Hello.

I was trying to use RenderTarget or Static Texture made from RT and the result was not correct, so it is not the way
BUT!

I use RenderTarget variable in blueprint and export calculated normal with blueprint node ExportTexture and save as *.HDR and then I open file in Photoshop and set RGB/8. After that I import new texture into an engine and it work fine.

Make notice, that pre-baked normal map (that I use as basis) compression was set to HDRCompressed.

Something like that:

ec917f8ad6f702b0b8964cc3fdc5eb5f7dde0985.png

*White arrows means it is exactly the same variable.
** DrawMaterialToRenderTarget used for preview purpose only. It doesn’t work correctly in Editor viewport.