Is it possible to use the Anisotropic shader with texture vector mapping, as with the other nodes? I don't see the "vector" input in that node...

So there seems to be no way to plug the UV (or anything else) from the texture coordinates node to the anisotropic node. And by default, of course it uses the generated input.

So for example, there is no simple method to create the following image (I cheated to make it look this way)? By "simple method" I mean manipulating texture coordinates as we usually do.

As you can see, in this (cheated) image, the texture looks like it's been moved away from the center of the mesh. It may look weird, but how can I do this?

I'm using the latest version of Blender with Cycles.

enter image description here


1 Answer 1


Tangent (Radial) vector is different from Texture coordinates (cartesian)

The Anistropic shader is not using the Generated Texture coordinates input as default because, as you correctly noticed, there isn't a Vector socket.

The two vector-type input present in the shader are:

  • Normal (it's used for providing a normal map to the surface)
  • Tangent (this one controls the anisotropy direction of the material)

If the last mentioned socket is left empty, the default Tangent vector is being used, that corrisponds to the Tangent node in Radial mode and Z axis.

But what exactly how the Tangent socket affect the shader result?

As we know anisotropy means that the material has different properties in different directions; the Anisotropy shader is like a Glossy shader but with reflections that are "stretched" upon a certain direction. The Tangent input drives the direction on which the light is stretched:

enter image description here

Using the UVmap mode can help you in controlling the direction of the tangent ( the V direction in the UV space).

enter image description here enter image description here

The reason you can't easily tweak the tangent with the vector mapping is because the values don't have nothing in common with the position of the shaded point. Here's what the Tangent (Radial Z) component X looks like:

enter image description here

The operations that the Mapping node is capable of (multiply, add, rotate..) would not result in a shift of the Tangent vector in the 3D space. While the Texture coordinates are in a cartesian coordinate system, so if you add 0.1 to X, the texture shift along the X axis, adding 0.1 to the radial-mapped values of tangent node instead, will result in a change of the circular sector, but the center will always remain still (it even has an undefined value).

A possible workaround for this situation could be to emulate the vector result of the tangent node with a Texture coordinates node that you'll able to tweak with the Mapping node, or maybe using an empty as origin. The trick consist in moving the center and, only after that, reconstruct the "radiality".

Starting from the Object's coordinate, just get rid of the Z component and Normalize the vector.

Now you can move the empty, or add the mapping node just after the Texture coordinate node as usual, in order to set the convergence point of the anisotropy property.

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.