I am painting a model using the texture paint tool. I am painting the diffuse of a moss texture onto a building I created. I also have a normal map that goes with the moss texture. Is there a way for me to recover the UV coordinates that are being generated when I paint my model.

There must be some mapping between what is appearing in my texture that I am painting and the texture attached to my brush. How can I recover these coordinates so that I can use them to generate a normal map?


  • $\begingroup$ I think you are looking for an addon like this one blendermarket.com/products/multibrush-multiple-layer-paint-tool. It is to work with BI but once the textures painted you certainly can use them with Cycles. I've not tested it. $\endgroup$
    – lemon
    Commented Mar 26, 2017 at 10:04
  • $\begingroup$ @lemon If you suggested paid option I would recommend Quixel Suite. It's cheap and comes with great normal paint tool nDo. Also lots of textures and brushes. $\endgroup$
    – cgslav
    Commented Mar 26, 2017 at 13:12
  • $\begingroup$ @LukeD, sure! I did not wanted to incite to pay. $\endgroup$
    – lemon
    Commented Mar 26, 2017 at 13:14

1 Answer 1


Final result:



As far as I know there is no way that Blender could generate normal map from diffuse map.

There is similar approach to what is going on in software like Substance or Quixel but it is painfully manual and not such fun.

In those apps you generally paint by stacking materials on layers and mask them one by one; and this you can do in Blender as well.


You will need both Diffuse and Normal texture for both materials and created texture for painting Mask.

Node setup:


Texture Paint:

Set Slot to Image, choose your mask and start painting.


Final thoughts:

This is not ideal method especially when you need more layers/masks, this is why more and more people looks at software mentioned above (including myself).

There is another approach I can think of. You can paint your diffuse, then export it and generate Normal map in chosen app, then load it to Blender.

Blend file (textures packed):

  • $\begingroup$ Nice, your nodes are worth a steal for my scrapbooks. 🙂 Thank you very much. $\endgroup$ Commented Nov 28, 2018 at 11:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .