I am trying to make a realistic looking high end watch and there is a lot of different finishing on the pieces .
I am using the anisotropic shader for linear and circular brushed parts and it is working fine.
Unfortunately, both finishing are pretty basic and don’t look very high end.
These are the finishing I’m struggling to recreate:
You need to play around with the Tangent direction of the Anisotropic shader. As the Tangent is in fact a vector and most artists are not comfortable in dealing with math, you can use the rotation input instead.
Another thing, aside from the last example (which is pretty pretty much a radial tangent with a 90º rotation), you may need to create texture images for the tangent/rotation map.
I can post later some examples of how those textures should look like, if you want.
The patterns originate from the toolpaths chosen during CNC milling. Milling video:
Trying to match a known toolpath to an anisotropic rotation texture map to me seems almost impossible (unless dealing with the obvious, which would look something like this when driving rotation). I admit, I’ve never tries this approach (driving tangents).
Very unusual pattern on the clock face, I wonder how it was made.
But yeah, driving toolpaths (at least as rotation) has been such a pain I’ve basically given up. Note that if using UV input the shading over the UV seam will be incorrect (doesn’t smooth like smooth shading does).
So I took some time to create the three types of anisotropy…
The math is a bit complicated to explain (well, the principle is quite simple ), and these are just examples how one can do this kind of effect.
the file has 3 scenes, one for each effect. I’d advise you to try to understand the math that is there (use a pencil and paper, 'cos I surely needed those to create them )
If in the end you still have some doubt about what I’ve done, then post here your questions.
edit: normally the drilled textures have some overlapping… thought they are fairly easy to add into the setup, I haven’t done it.
Very impressive work, these textures look amazing! I will definitely try to understand the math behind this, although this is quite a lot to digest (I’m used to working with image texture). It seems rather difficult to tweak though.
Blender is so much fun; every time you learn something you can go deeper and find 100 new questions. I love it!
I learned most of it while trying to create the diffraction shader. Since diffraction gratings are highly anisotropic, the tangent is the most important factor to determine the direction light gets reflected.
The principle it’s quite simple, and very similar to the Normal vector. You already know the Normal vector is just perpendicular to the surface, and in the same logic, the Tangent is also just a vector, but it lays in the surface. Therefore, it has the particularity of being perpendicular to the Normal.
First, just to be clear, in anisotropic surfaces the properties of the surface don’t change randomly in every direction as in isotropic ones. They are streched in one specific direction, where all the property changes are reduced to 0 (in perfect anisotropic) in that direction. This is the Tangent direction.
[SUB]an example of anisotropic variation in the V direction[/SUB]
There are lot’s of vectors perpendicular to the Normal as illustrated above. By default, Cycles will use the radial Tangent, where every point will have the tangent vector pointing to the right of the Z axis of the Object. With the Tangent node, it’s also possible to set the Tangents to be related to the X and Y vectors, or to use the U vector of the UVmap.
(Rotation will rotate the used tangent with the Normal as axis, and it’s normalized, so 1.0 means 2*pi or 360º)
Since Cycles node system is so wonderful, we can set the Tangent vector to anything we want. And that’s mainly what I did.
The math behind is not very different from the math I’ve seen you use for setting up coordinates to create procedural textures. The only difference, is that in the end, we don’t need a coordinate but a direction (which is just a vector in the world coordinate system).