Blender Guide: Procedural Wear From A to Z
Subscribe:  iCal  |  Google Calendar
7, Mar — 12, Jun
San Francisco US   19, Mar — 24, Mar
Anaheim US   23, Mar — 26, Mar
San Jose US   26, Mar — 30, Mar
Washington US   30, Mar — 2, Apr
Latest comments

Well, small/medium intuos pro is way cheaper that iPad Pro + pencil... just saying... And it works better with ZBrush...

by some guy
12 hours ago

It might ultimately be proof of concept now, but the point of showing a low-count bounce raytracing that still looks decent especially after denoising gives us a nice roadmap on the future. Maybe given time, we will move to this as the new standard or at least a probable alternate to baked lighting.

by Nathan Ayotte
12 hours ago

Fuck you I'm stuck in some bullshit game some dickhead thought would be exciting.

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?