Anisotropic from Substance Painter to Arnold

Last Updated on 03/02/2026

Anisotropic from substance painter to arnold featured

When I worked on the M60 machine gun, I encountered the problem that I can’t properly render radial anisotropic materials in Arnold render when using textures from Substance Painter. It took time to find out what happened. To save your time, here is a small tutorial on how to do it right.

The issue was caused by the double filtering of the radial gradient that was applied to determine the angle of anisotropy.

Substance Painter

To properly use radial gradient textures for anisotropy and export it in Substance Painter, you just need to change Filtering from Bilinear HQ to Nearest. That simple. But when you try to render it in 3ds Max using the Arnold renderer, things can not go so smoothly. And looks why.

3ds Max (Arnold)

The problem is that 3ds Max offers multiple choices for how to load an image as a texture. It has Bitmap map, Image map and a couple of OSL maps (like Bitmap lookup and Uber bitmap). So what is the proper choice for rendering radial anisotropy? Answer – Image map (native Arnold’s image loader). Also, Bitmap map works too but as OSL does not have all the parameters that Arnold supports. The issue I ran into was that I relied on the OSL Bitmap Lookup map, which doesn’t have a filtering parameter! So OSL shader filters images by default.

To disable filtering in the Image map, you should use the Closest parameter and None for the Bitmap (shown in images below).

So what happens when you use texture in Arnold? It is filtered at the rendering process. So you need to disable filtering for anisotropy angle texture in Arnold too. But it is possible in Image map and Bitmap map but not in OSL maps.

Finally, let’s see what Filtering of bitmap is exactly and why it should be disabled for radial anisotropy. In simple words, it’s something like a blur that is applied to a bitmap to make jagged lines look more smooth. So using filtering, it blurs pixels when the angle of anisotropy starts and ends. Filtered pixels lead to the wrong angle of anisotropy, and we see it like a line on the render.

Leave a Reply