Is it possible to do material painting in Blender as of the beginning of 2019? The most common scenario for this is landscape painting where you want to paint some part of the mesh as grass, some as dirt, some as sand, etc. (like in Unity terrain)

Texture painting alone wouldn't work because:

  • It doesn't paint normals and other material properties
  • It paints plain colors. You can't for example adjust all grass scaling afterwards

The only method I found involves manually constructing shader graph with masks and painting on those masks:

It seems to be such a common feature/scenario that I would expect it to be built-in. Is it implemented in Blender 2.80? If yes, how to do it?

In both cases (implemented or have to be done manually with masks), how do I export the final result (combined texture and normals) to use in game engines (specifically Unity)?

  • $\begingroup$ Using "mask" is common workflow in many other software as well - Substance Painter, Quixel and such, so there is no big difference in Blender, it is just harder to setup. For export you can bake your materials. $\endgroup$
    – cgslav
    Jan 21, 2019 at 19:34
  • $\begingroup$ @cgslav, so is it the best way to do it and the workflow people actually use? No updates in Blender 2.80 which make this available out-of-the-box? $\endgroup$ Jan 21, 2019 at 19:58
  • $\begingroup$ I'm not sure what do you have in mind saying "out-of-the-box". It is mostly that way. Check here: youtube.com/watch?v=gUVEzwAgGzo or here: youtube.com/watch?v=svzKoq3vew0 $\endgroup$
    – cgslav
    Jan 22, 2019 at 1:48


You must log in to answer this question.