Blender Guide: Procedural Wear From A to Z
Subscribe:  iCal  |  Google Calendar
Kyiv UA   22, Sep — 23, Sep
Valletta MT   23, Sep — 29, Sep
24, Sep — 27, Sep
Tokyo JP   25, Sep — 27, Sep
San Diego US   27, Sep — 30, Sep
Latest comments
by Fuck off
27 min ago

Fuck off, Ad. It cost $$$$$$$

by Paul Jonathan
9 hours ago

Laura, thank you for taking the time to model the warehouse boxes. I appreciate the enginuity. This could be used for games but as well as that, for businessmen to help showcase floorplans and build site images to their co-workers and employees. I highly respect this level of design. Best Paul.

Haha.I can understand English. I am just not good at speaking. It has been a long time I don't speak English, but I can read. Anyway, thanks for sharing my artwork. Thank you for loving it.

Blender Guide: Procedural Wear From A to Z
4 March, 2018

When working with procedural textures, one of the most popular things is to generate wear and tear on the surface. These little details can give your work a special look and help you attract more viewers. You can also add different dust particles or scratch a piece of your surface. Joakim Tornhill has recently shared a mind-blowing guide to adding those effects in Blender and you don’t want to miss this one. 

Hi, I started an FB group about Procedural textures in Blender a few months back. This is for noobs as well as experts and right now I’m also writing a document about how to use the nodes for getting wear and tear on objects. So if you like to learn more about how you use nodes, share knowledge or read about other procedural node related things you are welcome. The document (WIP!!) about wear and tear you have here.

Joakim Tornhill 

Here is a small piece to get you excited: 

Basic “Pointiness”

Pointiness is used to get the supposed wear more visible. 

Pointiness always has the same basic setting. You add an input node of type Geometry and then you connect the “Pointiness” to a black and white “colorramp”, connect it to some kind of mix node between two shaders and finally fine-tune the colorramp so that you see both colors.



 As you can see some areas are now brighter and that is connected to the edges. However, it’s not so easy that all edges will be affected. The mathematics behind “Pointiness” is an approximation between concave and convex angles. This will give the wear a more “natural” look, but can sometimes make it a little bit harder to work with.

Advanced “Pointiness”

For those that plan to use pointiness in a node group later on, I thought it could be good to go a little deeper into how “pointiness” really works.

Pointiness is built around comparing two edges between each other. The angle gives a base value. This value is then “blurred” or changed a bit according to those edges that are neighbors.

This means that if you have a higher value of the angle between those edges the end value is raised a bit and if you have a lower angle on the end value will be a bit lower.

A totally flat area has the value of 0.5, then it goes up (positive angle) or down (negative angle) depending on the calculations described above.

The value it changes with is the (1/degrees change)/2 according to my own investigations (so it could be wrong…but looks like this in my experiments)

However, that gives us a rather easy to use setup without the need of using the ColorRamp, which is great if we want to use it inside Node Groups.


This setup will allow you to go from -10 to 10 on the input node (I’m using the input node “value” to set a start value like 1.1 in above example). 0 will give no change between black and white and you will get everything just grey, but if you go negative or positive you will see that the edges sharpened.

Basic “Normal”

I will not go into the definition of “normal”, but it’s about the direction of the faces of your object. In a “wear situation”, you normally want to add dust or bleached parts on everything that has a flat face towards the top. 

The basic setting for this is an input texture coordinate that uses “normal” output. That is separated by a converter node “Separate XYZ” and the “Z-axis” is then connected to a colorramp which output can control the difference between two shaders. 

It will look like this: 

The result:

Here you can see that everything on top will be affected while the rest is untouched. With the colorramp you can control the softness.

Instead of using the input “Texture coordinates” you could also use the input node “Geometry” where “Normal” also exists and get the same result.

Joakim Tornhill 

Make sure to check out the developer’s FB group right here to learn more about Blender. 

Study the full guide

Source: Facebook

Leave a Reply

1 Comment threads
0 Thread replies
Most reacted comment
Hottest comment thread
1 Comment authors
James Recent comment authors

Great article. What is the purpose of using two Diffuse Shaders rather than just a simple colour mix node?