Blender Guide: Procedural Wear From A to Z
Subscribe:  iCal  |  Google Calendar
20, Jan — 16, Mar
Barcelona ES   25, Feb — 1, Mar
Dubai AE   5, Mar — 7, Mar
7, Mar — 1, Jun
Abbotsford VIC 3067 AU   8, Mar — 11, Mar
Latest comments
by john
10 hours ago

Great! For a beginner wants to learn programming language then they needs to click here: Providing you the best programming courses or tutorials recommended by experts.

by Ghost
15 hours ago

You wait until AI is fully implemented. Sound advice anyone? Learn a second profession or become a generalist and you might be working in the future. There is no way to stop AI. It will devour the system. Good Luck

by WebGlobals
21 hours ago

Hey Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Anyway, I hope you post again soon. Big thanks for the useful info.

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 on "Blender Guide: Procedural Wear From A to Z"


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