How to make this watchmaking metal finish (perlage)

I am working on a mechanical watch model and I would like to finish some of the surfaces with the traditional perlage pattern, like the image below. Any ideas?


(Image credit: https://monochrome-watches.com/a-technical-perspective-all-you-want-to-know-about-finishing-in-haute-horlogerie/)

You probably be best just trying to achieve that with a bump or normal map. I only spent a couple of minutes in Photoshop so it’s a bit rough and ready.

  1. Use filter>noise to generate some noise
  2. Use blur>radial blur on it
  3. Then use selection tools and feathering until you have a single “piece”… i.e. a feathered half circle with the radial pattern.
  4. Scale appropriately and duplicate to give yourself the required overlapping pattern.

Obviously it would take a bit more time and effort to create a seamless pattern but it wouldn’t take much

just find a high res pic for this pattern and use it as a UV map

may be one like this

radial metal pattern - Bing images

happy bl

I was wondering if this could be done procedurally in Blender. A Voronoi (Smooth F1, Random 0.00) plugged into a Principled BSDF’s Anisotropic Rotation maybe? If that made the right circular effect then some mix noding to get the layering . . .


AnisotropicPatternTest005.blend (1.7 MB)

Nope! :scream:

This is how far I got (Cycles):

The tricky part is in the “GetPerlageCenter” node, though, which computes the “active center” of the concentric rings.

perlage.blend (172.9 KB)

1 Like

how bout this one

happy bl

another way would be to make a 3D model for the pattern
to get more 3D effect and then bake it to a normal map in blender

then can be re use as a UV map

happy bl

I find that on things like this a quick grab of a texture image, and then run it through Materialize for the rest of the maps does a real good job…simple and quick…

I like it, but I’ve modified it to use voronoi → separate HVS.H → Subtract 0.5 → Multiply 0.02 to drive rotation. But same problem as I have with all my anisotropics, how do you manipulate/create tangents in such a way it conforms to orientation? All my stuff break apart when mapped (using UVs) to front and side faces.

Yeah, I think I’d have to update the tangent computation for my node setup to work. Normal cross product with coordinate minus center should work.

Edit: I just realized that the situation is more complicated: the anisotropic calculations requires normal vectors in global/object space, but if the texture is evaluated in UV coordinates, the connection to global coordinates is lost…

Edit 2: I think using the Tangent node set to UV makes it possible to compute a correct tangent in global coordinates. The output of the Subtract node in the lower left is the vector pointing from the perlage center to the surface point in UV coordinates I took the output of the tangent node to be one basis vector, the normal vector to be the second and computed the third basis vector with the cross product. I interpreted the UV coordinates to be the first and third coordinates in this coordinate system (the coordinate related to the normal direction being zero). I have no idea whether this is correct, but it works for anisotropy:



perlage_2.blend (174.6 KB)

1 Like

Thanks. Downloaded. Will give it a try. This is something I’ve struggled like crazy with on Secrop’s various anisotropic shaders as well.

Oh wow. Yeah this is looking extremely promising. All objects in the same mesh.
Left - no bumps. Right - some bumps.
Top - no rotation modulation. Bottom - maximum rotation modulation (0, 0.02, 0.05 I think).
Added the tangent calculation to Secrop’s aniso material and it worked very well.

1 Like