Rollover image

The aim of this simple tutorial is to explain how to render texture maps that have been exported from Mari using the correct displacement workflow with Arnold. This example uses a creature model and displacement maps (kindly provided by Alex Huguet).

More information about the UDIM texture token can be found here.


UDIM values are a way of representing the integer coordinates of a texture, from the coordinates of its bottom-left corner in UV space. This way, multiple textures can be used to cover a model, rather than a single, much larger, texture.

This is the convention used by Mari when exporting its UV texture space. It starts at 1001 (0,0) and continues in U for another 10 offsets. It then progresses onto the next row of V, meaning for every 10 in U it moves 1 in V. 

1021 1022 1023 1024 1025 1026 1027 1028 1029 1030
1011 1012 1013 1014 1015 1016 1017 1018 1019 1020
1001 1002 1003 1004 1005 1006 1007 1008 1009 1010

The UV offset grid below better shows this relationship (this example only shows a range of five as the creature model uses five displacement maps):

You can see in the UV Texture Editor, that the UV's have been laid out in UV space as 1001 (0,0) to 1005 (5,0) and that the displacement texture files have been named accordingly:

Texture paths

When opening the displacement file texture, Arnold will use a 'relative' file path naming convention. If you are having problems rendering the texture, change the file path name to an 'absolute' path (changing the project directory will automatically change the path name to 'absolute'). 

To use this method in your file inputs, use the <udim> tag in the file name, which is then replaced with the appropriate number:

Relative file path - Textures\displacement.<udim>.tif

Absolute file path - C:\Users\Documents\Project\Textures\displacement.<udim>.tif


Another option is to disable 'Use Absolute Texture Paths'. This can be found in the Render Settings Window under System,  Search Paths.

'Absolute Texture Paths' can be found under System>Search Paths in the Render Settings window

You can also connect a File 2d texture node to your shading network, and in the attribute, editor load the first of your UV tiles in the Image Name attribute.

Select the UDIM (Mari) UV Tiling Mode - select this option if your UV co-ordinates are represented as a four-digit number using the formula 1000+(u+1+v*10).

UV Tiling Mode set to 'UDIM (Mari)'

Displacement Attributes

A file texture (using an absolute path name of C:\Users\Documents\projects\Displacement-troll\sourceimages\displacement.<udim>.tif)  is connected to a displacement node which is connected to the shader assigned to the creature.

The Vector Space has been set to 'World' space, and the scale has been set to 0.75. The 'Bounds Padding' has been set to 1, and the 'Scalar Zero Value has been set to 0.25 (these values are meant as a rough guide and will need to change according to how and where the displacement map was generated). 

Displacement shader network


Displacement Attributes used in this example


To see the detail from the displacement maps, the model's subdivision settings need to be increased. In this case, the subdivision type has been set to Catclark, and the iterations increased to 2.

That concludes this tutorial for rendering displacement maps saved from Mari using <udim> tokens. 

The final render (minus one bucket)

  • No labels