Page MenuHome

Texture painting usability
Confirmed, NormalPublicTO DO

Assigned To
Authored By
Dalai Felinto (dfelinto)
Aug 20 2019, 8:35 PM
"Love" token, awarded by vladimirzb."Love" token, awarded by johantri."Love" token, awarded by mindinsomnia."Love" token, awarded by Schamph."Love" token, awarded by AnityEx."Mountain of Wealth" token, awarded by juantxo."Love" token, awarded by andruxa696."Like" token, awarded by roman13."Love" token, awarded by bnzs.


  • Automated UV mapping
  • . . .

Need more details

Event Timeline

Dalai Felinto (dfelinto) lowered the priority of this task from 90 to Normal.Aug 20 2019, 8:35 PM
Dalai Felinto (dfelinto) created this task.

This task looks like it could use some input so here's mine:

Based on what I've seen are quite likely the hottest and most frequently requested features for texturing in Blender, here's some suggestions for items to investigate for this task:

1. Material Painting

Painting to multiple textures of a material at once, using a brush that has different values / textures for each material texture.

In PBR texture workflow, this would be extremely useful for adding details to an object in a quick manner.

Practical example: Imagine you wish to paint onto a surface a screw bolt. With material painting, you could create a 'brush' that consists of a set of image textures representing the screw bolt decal, base colour / roughness / metallic / normal texture maps. By using the brush on a surface, those material values from the texture maps could be painted onto all of the active corresponding texture maps for the current material being painted. Stamping a 'bolt' onto the surface, with correct material values on every texture map.

It seems like such a small thing, but the potential time saved, the workflow benefits, are simply massive.

2. Material Layering

Layering of one type of material onto another is perhaps one of the most common needs in texture painting. Common examples including layering a paint material over a wall material, moss over wood, rust over metal, etc. Usually some kind of mask is used to control the layering.

Currently setting up this kind of layering in Blender is very time consuming, and very manual. So much so, that there are several paid addons for Blender just to automate the process.

This could in theory be implemented via Blender's actual material system, with an option to 'stack' materials onto a single material slot. But it could also be achieved via the Texture Paint mode.

Right now the Texture Paint mode in Blender already can automatically create a new texture and attach it to a Principled Shader's corresponding input slot as you create these new textures.

What would be nice is if Blender could in some way automatically handle layering in a similar fashion, by providing an interface that speaks in layers to the user, but translates layers into node group setups automatically.

The feature requirements for this would be:

  • Each layer has it's own set of inputs for Base Colour, Specular, Metallic, Roughness, Normal, Displacement, etc.
  • Each layer has it's own 'Mask', that can be either a value or texture for controlling how much it mixes with the layer below it.
  • Option to re-order layers by dragging and dropping them in the list, or disable layers.
  • The usual blending options for layers, eg: mix, add, subtract, multiply, overlay, etc.
  • Select the active layer to 'paint' onto by choosing it from the layer list
  • Option to merge down all layers into one set of textures in Blender.

Final thoughts

In terms of maximum 'bang for your buck', regarding what new features would have the biggest potential impact on the texture painting usability / workflow of Blender, I don't believe you could look past those 2 potential additions, I am confident they would greatly appreciated by the Blender community.

A big current hinderance for usability is performance as outlined here, but the fix could be potentially easy