Substance Painter to Arnold

This is one of the biggest stumbling blocks for me- the conversion of substance painter textures to Maya. Trying to convert the files using Arnolds standard AI materials requires a lengthy process to do so. Doing further research, I found an easier technique by Nick Deboar.

Exporting the textures-

Deboar  the Arnold export set up but altered it. First he removed the FO output and created a metallic one. He did this by selecting to create a new grey output. Naming this the same naming conventions as the others with metal added on the end. I copied the type of file exported- in this case EXR.

Screen Shot 2017-05-15 at 10.31.12.png

N.B. when exporting EXR- most software makes them linear, however substance painter does not, so they are still SRGB and you have to treat them as a jpeg or tif, so a colour space conversion is required.

Assigning the Textures

Diffuse- this is kept as RGB and simply imported

Specular- this is imported and kept as sRGB.

Roughness- import and change to RAW, as we only want to do gamma corrections on our colour images. Also, in the colour balance menu ensure alpha is luminance is checked. Why? In the node editor is is an out alpha and if it has no alpha channel, it is going to use the luminance of the RGB instead.

Screen Shot 2017-05-15 at 10.37.30

N.B. set distribution in advanced to GGX. This is because in substance they use the disney BRDF which is a GGX specular model.

Screen Shot 2017-05-15 at 10.40.38

I.O.R.- input a set range node into the colour map, doing this to remap the metal map onto some IOR values. In the output select the out value as X and the the input as specular1IOR. Then alter the values as below.

Screen Shot 2017-05-15 at 10.46.32

Then in the node editor connect a texture node with the metal file loaded (with the colour value X) to the value x of the set range.

Normal maps- no difference here than normal. Insert the normal map, uptick the flip R and flip G channel, change use as to tangent spaced normals and then import the normal map set to Raw.

Height map- As the bump map is already filled, another has to be added in the node editor.

This is done by inserting a aibump2d node between the shader and the alsurface node. connecting the colour output to the shader input on the aibump node and the connecting the out colour value to the surface shader input on the surface shader node.

I applied this all an successfully managed to achieve a close match to the original renders.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s