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
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:
A Standard Surface shader is assigned to the geometry. In the Arnold Shader Network window, a normal displacement shader is connected to the Arnold Displacement port and an image texture (udim texture) is assigned to the displacement input of the displacement shader. In this case, the Displacement Scale has been set to 0.1, and the Scalar zero value is 0.25.
Displacement shader network
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.
An Arnold Tag is assigned to the geometry. Subdivision is set to Catclark, and the Iterations have been increased to 2 to give a smooth result. Autobump has been enabled on the Displacement tab. This will take the high-frequency detail from the displacement map meaning there won't be as many subdivision iterations required.
Displacement Attributes used in this example
That concludes this tutorial for rendering displacement maps saved from Mari using <udim> tokens.
The final render (minus one bucket)