You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »


In this tutorial, we will take you through the process of rendering a head model from nothing but a sphere and a vector displacement map. Vector displacement maps are a powerful and efficient way to add detail to your scene without the overhead of managing complex geometry. They provide a very efficient workflow when working with models from 3D sculpting applications and Arnold. Unlike traditional gray scale displacement maps which simply use a line long for the vertex normal, vector displacement maps have RGB values which represent the XYZ displacement direction and size. This means they don't follow a fixed surface normal and can move in any direction, including overlapping each other.

However, vector displacement maps have larger file sizes because they have to store more information than regular displacement maps. Also bear in mind that vector displacement maps, as with normal displacement maps, are not perfect for every situation. For example, UV seams can be problematic when using vector displacement maps.

Many thanks to the very talented Zeno Pelgrims for providing the assets and assistance for this tutorial.

The sphere.obj, vector displacement map and diffuse color map can be downloaded here.

Ensure that you enable Texture Coords when importing the sphere.obj file (off by default) otherwise, the UVs will be missing and you will get incorrect displacement.


The original head sculpt has been extracted from Mudbox using the following settings.

Mudbox sculpt details


  • The vector displacement was extracted from the original head model in Mudbox under the menu UVs & Maps> Extract Texture Maps> New Operation


  • Mudbox provides the following settings for extracting textures from models. In this case, we chose Vector Displacement Map and changed the Vector Displacement to Absolute Tangent. Ensure that the map is saved using 32-bit FP depth and has a high enough resolution. This will give us an accurately displaced render in Arnold.

Make sure that you use a 32bit or 16bit floating-point format to store your image, and not an integer format. An integer format will not work correctly. This is because integer formats do not support negative pixel values, which are used by floating-point displacement maps.


3ds Max

  • Open the model - sphere.obj. You should see the original subdivided cube called obj_base.



** Hidden - Vector Displacement from Mudbox to Arnold

  • Assign a Standard Surface shader to the sphere model. Create a Bitmap and open the file Diffuse_colour.jpg. Connect it to the Base Color and the SSS Color parameters. 
  • Add an Arnold Properties Modifier to the sphere.
  • Create a Bitmap texture and open the vector displacement map - mudbox_vdisp.tif. Drag and drop the vector displacement bitmap onto the Displacement Map parameter in Displacement of the Arnold Properties Modifier.

Vector Space is set to Tangent


** Hidden - Vector Displacement from Mudbox to Arnold

  • Ensure that you have enough subdivisions for the sphere geometry otherwise the displacement will not look correct. In this case 6 iterations with Type set to Catclark is sufficient.


You can see a subtle difference in quality between 4 and 6 subdivision iterations in the images below.


The Utility shader can be useful for diagnosing issues when rendering displacement maps.

Utility shader. Shade mode set to ndoteye and Overlay Mode set to polywire.


That concludes this tutorial on rendering vector displacements from Mudbox with MAXtoA.



  • No labels
Privacy settings / Do not sell my personal information / Privacy/Cookies