8
$\begingroup$

Is possible align the center of radial anisotropic shader with the center of the hole?
I tried:

  1. Move origin (I always think origin determines the center of anisotropic- not true)
  2. Separate tangent values and change each individual by multiply different numbers - something changes, but I was not able to move the anisotropic's center.

Any other ideas?

anisotropic cycles shader

$\endgroup$
1
  • 1
    $\begingroup$ For now I solve it this way: I duplicate two vertices and moved them to side opposite to hook. This moved aniso center to center of hole. It work, but I hope in more elegant solution, so I leave this question open. $\endgroup$
    – Shubol3D
    Nov 19, 2016 at 7:45

3 Answers 3

12
$\begingroup$

You could remap center of anisotropic shading to an object (this could be an Empty); use Texture Coordinates node for that:

screenshot of settings and model

With that, once you move the empty, center of the anisotropic shading will move as well. Note that this can even change the axis of the shading; however controling may be not as convenient as if using Tangent node to change the axis.

$\endgroup$
1
  • $\begingroup$ Nice solution with the empty but Not sure about feeding the Object coordinates directly into the Tangent. $\endgroup$ Nov 20, 2016 at 10:45
9
$\begingroup$

You can adjust the ansiotropic shader by manipulating the Tangent. Unfortunately, the Tangent node does not provide any suitable inputs - only UV or Radial X,Y,Z. However, you can generate your own tangent using the Texture Coordinates and Cross Product as shown :

Anisotropic

Adjusting the Location coordinates of the Mapping node will adjust the anisotropic centre. To mimic the different X,Y,Z radial tangents, set the relevant Scale to zero (Z in the example image) and adjust the corresponding Location (in this case Z) to adjust the strength of the anisotropic distortion for that axis.

For info, the Cross Product returns a Vector that is perpendicular to both of the input vectors. By passing it the Normal (which pokes directly out of the surface) the resultant Vector will always be parallel to the surface. The Object coordinate then controls the angle of the tangent on the surface.

An even better solution is described here. Essentially this involves unwrapping your mesh using ‘Project from view’ from directly above the centre of anisotropy and centering the UV map at the UV origin. You then use the UV coordinates and a Cross Product with a fixed vector to generate the Tangent for the Anisotropic shader. To move the ‘centre’ you simply translate the UV coordinates.

$\endgroup$
1
  • $\begingroup$ This is interesting setup and work, thank you for your help :-) $\endgroup$
    – Shubol3D
    Nov 19, 2016 at 11:59
5
$\begingroup$

Here's another method - this one really easy and without having to mess with the material at all.

Simply select the object and go into Edit mode (Tab), select a single Vertex and use Shift-D to Duplicate it. Move the vertex outside the mesh to the side you want to move the centre of the anisotropy. The single vertex doesn't have any faces associated with it and so is invisible in the render but this skews the centre of the mesh and so moves the centre of the anisotropy.

animated duplicate and move vertex

$\endgroup$
3
  • $\begingroup$ Just realised that you mentioned effectively the same in your comments of the original question. Didn't spot that. I really should pay more attention! $\endgroup$ Nov 25, 2016 at 7:11
  • 1
    $\begingroup$ I thing your answer is still useful, because better to see once than to hear/read 100 times :-) $\endgroup$
    – Shubol3D
    Nov 25, 2016 at 12:22
  • 1
    $\begingroup$ This is the best answer. It's faster, easier, and uses less resources than the other methods that require additional nodes and UV maps. $\endgroup$
    – mattthew
    May 13, 2019 at 19:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .