This tutorial shows how to use a Mudbox texture for displacement in V-Ray.
This tutorial shows how to export a vector displacement map from Autodesk Mudbox and then use it with V-Ray for 3ds Max.
The object is first prepared in Mudbox and a low poly mesh is exported for use in 3ds Max. A vector displacement map is exported as well, which is then used as a displacement texture map.
Then, in 3ds Max, we show the steps of setting the vector displacement map and prepare the object for render with V-Ray.
Note that the settings of the VRayDisplacementMod are universal for rendering with both V-Ray and V-Ray GPU engines.
Preparing the Object in Mudbox
There are a few things to keep in mind when painting your object in Mudbox:
– Make sure that the object has UV coordinates;
– Make sure that you have as few UV seams as possible (best if there are no UV seams);
To the right is an example of an object sculpted in Mudbox:
Exporting the Base Object from Mudbox
Go to the 0-level resolution of the object, select it and export it to an .obj file from File > Export Selection...
This way you will have the base mesh ready for import in 3ds Max.
Exporting the Vector Displacement Map from Mudbox
Go to UVs & Maps > Extract Texture Maps > New operation... and in the following dialog select Vector Displacement Map.
For Target Models select the 0-level resolution of the object. For Source Models select the resolution that you want to bake (typically the highest resolution) - in this case, level 4.
Here, we enable the Smooth Target Models and Use Creases & Hard Edges options and disable the Smooth Target UVs. Whether to choose these options depends on the model you are exporting. With this particular model, we want to keep the hard edges in order to keep the "edgy" look at the alien's neck.
Similar to that, we enable the Smooth Source Models option, which affects the polygonal faces of the highest res mesh (level 4) .
Set the desired resolution of the displacement map. A resolution of 2048x2048 works in our case.
Set the Vector Space to Object.
It is important to choose the same Vector Space mode as the Vector Displacement used later in V-Ray for 3ds Max.
Select an OpenEXR file as the output vector displacement file, that is the Base File Name. V-Ray supports 32-bit maps, so it is better to keep the Bits per Channel to 32-Bit FP.
Once ready with all the settings, press the Extract button to create the vector displacement map.
Here is how the extracted map looks like:
Preparing the Object for Render
In 3ds Max, import the .obj file with the 0-level resolution mesh for your object (File > Import...).
With the object selected, navigate to the V-Ray shelf and add a VRayDisplacementMod.
Go to the modifier's parameters and choose a VRayBitmap for the Texmap slot. Select the exported .exr file to load as a Bitmap.
In Color space transfer function, choose Type None, that is the image is Linear (no Gamma applied).
Now let's prepare the V-Ray displacement for render. Go back to the VRayDisplacementMod and disable the Filter texmap option.
Depending on the expected displacement, you can choose either a 3D mapping method or a Subdivision one. The Subdivision method is suitable if you need to smooth out the model. You don't need to add any smooth modifiers - the Subdivision method will automatically do the job.
Please note that if you are using the V-Ray GPU render engine, the 2D mapping will not work.
Make sure your Texmap min/max values are set accordingly to the values of the .exr to avoid clipping. You can start with values of -1/1 and see if they allow proper negative displacement.
The Vector Displacement parameter should be set to Object, since this is the Vector Space mode that we chose in Mudbox.
Enable the Keep Continuity option. This option will help the model not to "break" if the displacement interferes with the object's normals.
You can also play with the Amount and Shift parameters here until you get the desired look. For the purpose of this tutorial, we settle to an Amount of 1.2 cm.
Optionally, you can lower the Edge Length value (default is 4.0) in order to increase the quality, but note it is on the expense of render time.
You are now ready to render.