Anisotropic Patterns

March 14th, 2007 by Vladimir Jankijevic - Viewed 51961 times -




Generating anisotropic highlights or reflections on polygon objects, was a real pain for many years. We always were jealous of NURBS surfaces which allowed artists to generate anisotropy along UV parametrization. Once polygons received the ability of anisotropic highlights, the users wanted more. Anisotropic reflections have the power to add great deal of realism to renders and became a handy tool for everyday use.

In the past I have done jobs which required the use of anisotropic patterns and those had always been faked with maps and the like. But now there is no need for faking anymore. A very nice feature of the T2S_Illumination shader enables the manipulation of the anisotropy vector orientation which makes it possible to generate realistic reflection patterns over the surface.

A big thanks to the folks at Tek2Shoot for that one.

Reflect on this

Obviously we’ll be building off T2S_Illumination.

Main ShaderDisable the Fresnel option under the Fresnel tab. This is done to see the full reflection strength of the material – metals often don’t have any or very slight Fresnel reflections. Enable the Reflections under the Scattering tab and switch the Glossy mode to Anisotropic. Set the Shiny U/V parameter to 1 and 100. Under the Anisotropy tab change the mode to North Pole to see how the reflections could look like. Later we will switch it back to North Direction.

To make the reflections visible, create an environment which will be reflected. You can setup some objects in the scene or just use a spherical map.

Applying this material to a grid with proper UVs (Planar XZ projection), shows the nice circular anisotropic reflections as seen in your kitchen on a cauldron’s bottom.

Vector BreakdownThe next step is to recreate that North Pole behavior in the direction vector. To achieve this we have to provide a vector map that manipulates the north direction, so that it points to the center of the grid.

Switch back the Anisotropy mode to North Direction.

In Photoshop, you can very easily create such a vector map. All you need to do is to make two grayscale gradients. One is from right to left in the red channel of the image and the other is from bottom to top in the blue channel. Make sure your gradients are linear and not cubic (smoothness 0 vs smoothness 100).

Vector Colors

Middle ShaderThese colors will then be interpreted by XSI so that the full red color will point to the positive x direction and black will be pointing to the negative x direction, pos z and neg z respectively for the blue color. To do this the color channels must be split apart and remapped to a vector. By using Pick_Channel and Change_Range nodes you can easily remap color values (0 -> 255) to a vector component (-1, 1). After having done this for both red and blue channels of your picture, you can recombine the scalars into a direction vector by using a Scalars2Vector node.

One last thing to note is that even if your texture is applied locally on the object, the vector that is built with the texture’s values is defined in world space. To get proper anisotropy that will follow your object’s every transform you need to convert the vector to object space by using a Vector_Coordinate_Convertor node. Switch the Transform to to Object.

Vector Coordinate Converter

Having fun

At the beginning of this article I talked about Anisotropic Patterns and their creation. Now that we know how to create custom vector direction maps there is no limit to the anisotropy patterns we can render. For example: a typical brushed finish of stainless steel.

Circle Patterns

A very simple map can generate the same effect.

Circle Vectors

And the same thing for some really nice looking Carbon Fiber material.

Carbon Fibre

Carbon Fibre Vectors

I hope this article, beyond anisotropy, has helped a few people better understand the world of vector usage in the Rendertree.

You can download the material preset.

Thank you and have fun with these tricks…

8 Responses to “Anisotropic Patterns”

  1. Steven Caron says:

    this is brilliant…

    thank you so much for sharing.

    steven

  2. Gideon Klindt says:

    Looks great! This is a much simpler solution than I have seen else where- and with exceptional results. I can’t wait to try this with some of the remapping options via the IFW textures set.

    Thanks for sharing.

  3. hey vladimir this rocks, im proud to have such fine teacher…

    thanks to you i had lot of beautiful metall renders…

    greetz master jankin

  4. Gene Crucean says:

    Radical! :)

    I built a carbon fiber shader with a similar concept a while ago but you took it one step further than I did. Your results are way better than mine.

  5. Seail J says:

    Hi. Thank you very much for such detailed tutorial.
    I’m trying this shader and it results in beautiful render.
    However, When combined with other object with different shading property, it really slows down the render-whereas it renders real fast on its own.

    I really would like to use this shader for our project.. but it’s a problem if it takes too long for it to render. I can seperate object with this material on a diff. pass however can anyone suggest me a solution or raise a flag on why it’s increasing the render time?

    Thanks a lot in advance and again thanks for the great shader.

    Best Regards,

  6. dedandy says:

    VERY great explanin and a very very great tutorials thx!

  7. Mike James says:

    Thank you for this article, and for letting us see the sample maps. This turns out to be very useful for me, as I have some upcoming projects that can use various “weave” patterns, including the carbon fiber example.

    Excellent!

  8. [...] rotation follows the surface derivatives In the very rare case you need to create an effect like this, you can still use the normal Architectural_Multi-out [...]