General / 01 September 2020

Houdini Blog #41: Edge wear

Recently I found a way to make procedural edge wear on (highpoly) models.

This all started some time ago when I modeled a gun based on Simon Fuchs his videos. I followed his videos but did everything in Houdini and part of that is adding edge damage.

Here is a sneak peak of how the gun model looks.

Final result of the gun here https://www.artstation.com/artwork/ZGdm0x with the edge tool

Now Let's start talking about how to make some procedural edge wear/damage. Before I often used a technique shown here in this video. ( Look at 6min https://www.youtube.com/watch?v=Vx_kYEUvYCA )

The down side of the technique is the video is that on complex models it can often fail, so using my gun model it had a hard time adding edge damage. The mountain and the boolean play a big part here in creating the effect and these 2 nodes are also the limitation.

Other ways I have tried a few ways of approaching edge damage but the more successful ones are with highpoly models and calculation curvature.

At the moment I ended up with this technique and decided to keep it as simple as possible. My other experiments where large networks and this "new" technique uses only 5 nodes to start with.

Here is a gif of what the effect looks like, a mask is created like this and then use it as displacement. (gif realtime)

My idea was to get similar result of the Slope blur in Substance Designer but then is 3D with Houdini.

Breakdown Edge wear/damage

First start out with a highpoly model. For this example I use a platonic shape with the Voxel tool from Labs (Please install SideFx Labs!!!)

Now we have a high poly model and can calculate the curvature. The curvature will the be saved in the Color (Cd).

To calculate the curvature use the Labs Curvature or the measure node. ( there are many other ways of calculating the curvature.) For the result here you have to tweak a few settings in the Labs curvature node, I changed range scale and enabled Single Color Value + Fit to 0-1.

After that apply a mountain or noise on the shape. Based on the size of the object you will have to tweak the values.

Here comes the magic! Use the transfer attribute node and transfer the color of the mesh with curvature and mountain noise back to the original mesh. On the original mesh add a color node with value 0,0,0.

To finish use the color as displacement, you can do this in a VOP with the displace along normal node. The color is here the amount of displacement.

Image from the setup

You can take this network further and polish it more. You can for example add a small blur or the Labs mesh sharpen works nice here.


Let me know if what you think of this technique.

Thanks for reading, see you on the next one!