Anisotropic Patterns

This is a tutorial on generating true anisotropic brushing and finishing patterns in Softimage XSI with the T2S_Illumination shader from Tek2Shoot
Advanced Rendertree Architecture.

Generating anisotropic highlights or reflections on polygon objects, was a real pain for many years. We always were jealous of NURBS surfaces which allowed us to generate anisotropy along their UV parametrisation. Once, the polygons received the ability of anisotropic highlights, the users wanted more. Anisotropic reflections had the power to make things even realer looking and became a handy tool for everyday use.

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


Now let's take a look of how it can be done!  

The first step is to generate the base material we are going to work with. In this tutorial we're going to use the T2S_Illumination shader from Tek2Shoot.

First, we disable the fresnel option under the fresnel tab. That is because we want to see the full reflection strength of the material (metals often don't have any or very slight fresnel reflections). Then, 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 frying pan's bottom

The next step is to recreate that "North Pole" behavior of the direction vector. 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. Everything you need to do is to make two gradients. One gradient is from white to black, from right to left, in the red channel of the image and the other is from white to black, from bottom to top in the blue channel. You have to take care of the gradient type. There is an option in the Gradient Editor (when you click on the gradient thumbnail in the Options bar of Photoshop) that changes your gradient type from Cubic(Smoothness 100) to Linear(Smoothness 0). Your gradients have to be linear!

These colors will then be interpreted by XSI so that the full red color (255) will point to the positive x direction and black (0) will be pointing to the negative x direction, pos z and neg z respectively for the blue color.

OK, now we should have a look on how we can tell the shader to use this map the correct way.

First, we get the image map. Then, with a Pick_Channel node, we get the RED channel of the image. The output is plugged into a Change_Range node, which changes the range of the red channel from 0(black) to 1(white (255) ) to -1(negative) to 1(positive). The same thing has to be done with the BLUE channel. Then we have to convert these values to a Vector which will be driving the Anisotropy direction. This can be done with a Scalars2Vector node.

You can check if everything works by switching from "North Direction" to the "North Pole" mode and back. Both renderings should look the same.

Everything OK by now but there is one more thing that we have to take care of. If you rotate your grid by 90 degrees in the Z or X direction you will notice an error with the vectors.

What we have to do now is to convert the directions with a Vector_Coordinate_Convertor node to Object Space. This can be done by switching the Transform to "to Object".

At the beginning of this tutorial I talked about "Anisotropic Patterns" and their generation. Now, as we have the knowledge, how we can generate custom vector direction maps, there is no limitation with anisotropic patterns. For example this image on the right is a typical brushed finish of stainless steel.

A very simple map can generate the same effect.

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

I hope you've got an insight to the world of vectors and their usage in the Rendertree.

If you wish, you can download the project files here or just the material preset here.

Thank you and have fun with these methods...

If you find these tools helpful, please donate.