How To: Vector displacement map from Mudbox to 3ds Max with Vray

**NOTE**

Since I’ve learned that this post is quite strong visited I’d really like you to give some feedback concerning its content:

Did this approach work for you or would you like to have any further information? Or maybe you have some helpful additions?

I would really appreciate that.

**NOTE**

Over a long period of time I’ve been looking for a solution for this problem. I was researching in the internet, tweaking around with different settings but I’ve never figured out the correct ones. Websites like spot3d or neilblevins delivered much theoretical knowledge but a practical workflow lacks or my english is too bad. But one day I stumbled across a short but remarkable post which contained a max-file with working settings, since then I am able to us this technique on my own. Here is the original post written by alvarezcb with the working max-file. If you want some more information follow the explanation below.

Because I know that there are a bunch of other designers which are desperately looking for such a workflow I decided to explain it one more time with the purpose that with more sources it would be found easier and shared to all of you.

This workflow explains how to execute the following steps:

– exporting vector displacement maps in Mudbox
– importing the low resolution mesh in 3ds Max
– preparing the vector displacement map for use in VRayDisplacementMod
– setting up VRayDisplacementMod and assign to low res object
– rendering

Used software:

Mudbox 2013
3ds Max 2013
Vray 2.0

A basic knowledge of each program is expected, I will not start at zero. If there are questions feel free to ask but please don’t expect me to explain you Max’ User Interface or the location of F1. There are many great tutorials and much information available in the internet which I don’t want to repeat.

Mudbox part

Let’s say, you sculpted a character in Mudbox with several subdivision levels and a lot of detail. In my case it’s just a modified plane. The lowest subdivision level is a simplified version of the highest subdivision levels. It has fewer polygons and as a result, fewer detail. In my case, the lo res mesh has 100 poly and the hi res mesh 102400 polys, so I’ve got 6 subdivision levels.

Plane lo res 100 polys

plane hi res 102400 polys

Be aware that the object has a clean UV-unwrapping assigned, I usually do this in ZBrush with UV Master.
(An appropriate workflow using PTex is possible, however until today I tried it as a start and it didn’t work. If the desire exists I can spend my capacities to find a solution.)

You now extract the difference of detail between the low res mesh and the high res mesh by aid of a vector displacement map. The export dialog should have the settings according to the image:

The following points are important:

Smooth target object  –  It seems like 3ds Max smoothes an object automatically by default. That’s why you have to create the vector displacement map based on a smoothed target object either, otherwise you have undesirable edges.

Relative Tangent  –  Since Max unwraps the object using UV Maps, the displacement happens locally. So you have to calculate the vector displacement map relative to every face.

*.exr  –  That was a try and error-thing. exr worked, tif didn’t.

Further export the low res mesh as an obj-file for use as base in 3ds Max.

3ds Max part

Import the low res mesh as an obj-file into 3ds Max and deselect “Retriangulate Polygons” in the popping up dialog.

Vector displacement map composition

An important point is the fact, that you have to modify the vector displacement map in Max’ Material Editor before  you link it to VRayDisplacementMod. These modifications are taken one to one from the linked post on top.

Color Correction Map

Get Material –> Color Correction

Change the Channels to

R = R

G = B,

B = G

Composite Map

In the Basic parameters add a new Composite Map

 

 

Create 2 layers, in Layer 2 add a new VRay Color Map

R = G = B = 1

Blending mode is average.

VRayCompTex Map

In Layer 1 add a new VRayCompTex Map.

 

Source A: Link your vector displacement map
without any changes.

Source B: VRayColor

R =1

G = 2

B = 1

Operator: Multiply (A*B)

 

Update content:

For the better understanding of the hierarchy here’s a picture of the slate material editor.

slateME

 

Thanks to the readers for giving comments and helping me to make this tutorial better!

 

VRayDisplacementMod Settings

VRayDisplacementMod

Now add a VRayDisplacementMod to the object and link the Composition to its texture channel.
Configure the Mod as shown.

Amout  –  Defines the.. Yes, the amount of displacement. Since in meters (or whatever), this depends on the size of your object.
Shift  –  The shift parameter gives an offset to the whole displacement map. A positive shift value blows the object up and a negative value deflates it. So sometimes you have to tweak with this value until you have the result you want. In this example it equals  Amount *(-0.5), so for 8m amount, shift = -4m.

 

 

 

 

 

 

 

 

 

 

Render

And that’s it! Now render your scene with vray and be amazed.

Plane vdisplacement map assigned

Another example where I applied this technique:

Don't try hiding...

Don’t try hiding…

Polycount low res: 26’204 polys
Polycount hi res: 13’427’712 polys (!)

If there are any questions feel free to ask, I’m going to try to help as far as I’m able to. If there are critics concerning this workflow I’m open to it. I’m not aware of the behaviour of every listed setting, I’ve just been tweaking around and figuring out that the explained version works for me and I hope it does for you as well. Consider the possibility that this workflow might not work with other software versions.

At last I want to thank alvarezcb for his enlightening and triggering post, it helped me a lot and gave me pleasure.

Appropriate workflow with maya (never tried it):

Spot3d

bb

Tags: , , , , , , , ,

16 responses to “How To: Vector displacement map from Mudbox to 3ds Max with Vray”

  1. Rodrigo says :

    I can’t make the vector displacement map works on 3ds Max 2013 with mental ray… And I don’t how to fix it.

  2. gbip says :

    Great tutorial, but a screenshot of the slate material editor would be welcome since it’s a lot’s of node !
    Thanks you !

  3. Nagahari says :

    Slate plz! =)

  4. Kevin says :

    not many tutorial about this
    great work….Can you do 1 from zbrush to 3dmax with vray too? i cant seems to get mine working.i had a 3d bit vd generated in zbrush and apply this technic in to 3dmax but i cant get the result i wanted…as in all my sharp edges become curvy…

  5. Kevin says :

    WOW you reply so soon…thankyou bb3d if you could solve this im really great full iam doing 3d animation…and its due in 5 more weeks..i have completed texturing in zbrush just have this trouble when exporting to 3dsmax

    • bb3d says :

      Hi Kevin!
      I’m sorry i can’t solve this problem so fast. I figured out how to export a Vector Displacement Map out of ZBrush but 3ds Max won’t calculate the Vector Displacement correctly. So I would suggest that you just do it with normal (black/white) displacement.
      Greez Ben

      • Kevin says :

        Thankyou bb3d. for spending time to figuring it out…
        ill take your advice and use the normal one

  6. barigazy says :

    Hello bb,
    I decided to write a small but useful maxscript tool to help to prepare the whole process that you described here. Hope you can test it and tell me your opinion or suggestion for improvement.
    Link: http://www.scriptspot.com/3ds-max/scripts/displacemgr
    Best Regards!
    Branko

    • bb3d says :

      Hi Branko
      Thanks for your post, I’m gonna give it a try as soon as the time allows it. It sounds quite useful to me and I think many Artists would be very thankful if they don’t have to follow Akin Bilgic’s or my workflow but use your script instead.. 😉
      BR Ben

  7. Jim T says :

    Hey! In my Vray displacement mod, there is a checkbox to enable VectorDisplacement, is there a particular reason you’re not using it instead of Subdivision? As I see in your screenshot it is there aswell, but grayed out by the choosing of subdivision over 3D Mapping. I’ll give this a try now and see if it works for me aswell 🙂

Leave a comment