For you a tricky question : do you know a way to apply negative and positive offsets on different surfaces based on its colors in Blender ?

For this key, the green represents the surfaces without offset. The blue represents the down-facing surfaces where I expect a lack of material, so I would like to do a positive offset on the geometry. Finally, the red represents the up-facing surfaces where I expect a surplus of material, so I would like to do a negative offset on the geometry.

The goal is to 3D print this key and prevent the surplus or lack of material during the print.

Tell me if you have any ideas,

Thank you,



  • $\begingroup$ Vertex colors are used, well, for coloring. This is the job for Vertex Groups $\endgroup$ – Duarte Farrajota Ramos Mar 6 '19 at 1:04

Unfortunately blender doesn't provide many options for doing much with vertex colours.

If you can convert the colours to greyscale texture, with values in a range of 0 to 1 (with your current green value as 0.5) instead, you can use this to control a displace modifier on the mesh. Set the midpoint to 0.5 and the strength to the difference between the maximum increase and maximum decrease that you want. This will require UV unwrapping your mesh. The conversion to texture could be achieved by creating the right shader and baking surface colour.

Alternatively, you could create 2 vertex groups for the positive and negative displacement and use these to control two displacement modifiers without textures, one using a positive strength, the other a negative. No UV unwrap is required here. A script would be required to convert the vertex colours to groups.

| improve this answer | |
  • $\begingroup$ Hi,thank you for your answer. I will probably opt for the grayscale. $\endgroup$ – user3035562 Mar 6 '19 at 3:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.