Blender Guide: Procedural Wear From A to Z
Subscribe:  iCal  |  Google Calendar
7, Mar — 1, Jun
Copenhagen DK   25, Apr — 8, May
Gyeonggi-do KR   25, Apr — 28, Apr
Copenhagen DK   25, Apr — 29, Apr
Vilnius LT   2, May — 4, May
Latest comments

As a indie developer in a country that don't have a commercial agreement with the US, I hope steam listen to Epic. Steam takes 30% of my revenue, and US gov. get another 30%, than I need to pay taxes in my country (Brazil). So in the end, i get roughly 20% of the full price.

Nice to meet great personality who has excellent talent in 3D characterization and found here best example. Caroline,

The game lovers of Epic Games will be disappointed to know that from now onward seam would stop doing exclusives if Steam lifted its revenue cut for developers. William,

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?