Paint normal map


Is there a way to paint a normal map in ArmorPaint? How to do that?
In Substance Painter you can paint a height map and convert it to normal map during export.



1 Like

Currently the only way of doing this is to first paint a height map, then go into an app like gimp and turn it into a normal map. Welcome to the community! :slight_smile:

1 Like

Look like there will be sculpting tab where you can paint normal/displacement map easily.
But you can easily paint normal map right now, all you have to do is go to Material’s node setup
add normal map texture to it and connect it to normal socket

See how texture is attached to Normal Map in Material Output
and also see how texture is imported ->

See how to export texture ->

I know how to add ready texture from disk and how to connect it to normal map input, but i dont understand how it let me paint normal texture :confused:

If you are sure that you know how - please give me more details.

Also i don’t know how to paint height map, what is workflow for that?

Is there a workflow for painting indyvidual textures as albedo, normal?

If i understand correctly Armorpaint let me paint with materials not paint indyvidual textures of these materials. Is this correct thinking?

@BeetBeet In previous versions of Armorpaint there were checkboxes for which maps you wanted paint from the material. So if you wanted to paint just the normal, you would uncheck everything, but the normal checkbox and it would leave the color, roughness, etc alone while painting just the normal. I just pulled the latest version of Armorpaint, though and I can’t seem to find the checkboxes anymore. I’m not sure if I just can’t find them, or if maybe they were forgotten when the UI layout was redone. @lubos do you know what happened to those?

ok, i know where is that option - right mouse button :slight_smile:
But can you show me how prepare material nodes tree to paint normal map from scratch? Or height map?

Ah! You found it! So if I understand what you want to do correctly, you can:

  1. Import a normal map ( green arrow )
  2. Add it to a material ( bright red arrow )
  3. Uncheck all but the normal setting for the material ( yellow arrow )
  4. Paint it on the object, and only the normal will be applied ( dark red arrow )

Sure. but i want to paint a new normal texture from scratch - not paint with imported normal texture, is it possible?

Hmm. I would have though this would work:


And then you could change the height of the normal that you are painting with the height slider of the bump node, but for some reason it doesn’t look like it is working.

It works if you plug a black and white image into the height input, but not when I just paint without a texture input.

i still don’t understand how to paint a normal map from scratch in Armorpaint,
nobody answers my question - is it possible to paint a normal map from scratch? NOT paint with imported normal texture

When i connect bump node to normal map input of material then NOTHING happens - i can’t paint a normal or bump map

I think I just realized why the bump node painting doesn’t work. A normal map is a representation of the angles of the surface, when you set the bump height of a material to a single value, the angle of all of the pixels across the surface doesn’t change and the generated normal map is featureless. Then, when you try to paint that normal map onto the object, you are just painting on flatness.

In that light I think painting a height map is the only thing that makes sense, but as far as I can tell Armorpaint doesn’t actually render or paint height-maps, or I haven’t figured out how to make it so far.

it is sad, without that option ArmorPaint is a curiosity and it can’t be used in any serious projects

after a year o development there is still no way to do that, i found this question from last year:

How about you open an issue on the GitHub repo so that it is on Lubos’s task list.

1 Like