ZBrushCentral

Zbrush to Max. Displace Map Problem

Hi. I have finished sculpting my lemur model in Zbrush and want to render it in 3Ds Max with VRay. But, problem with displacement map exported from Zbrush. For test I detailed a simple sphere in Zbrush, exported the mesh and displacement map to Max and rendered, everything is ok. Can’t understand what is wrong with lemur model.

Attachments

01.jpg

02.jpg

03.jpg

04.jpg

05.jpg

I’m getting the same errors and following [this tutorial](http://Accurate Displacement Workflow | Akin Bilgic) now the model has displacement, but is cut up into rectangular pieces. I followed all settings generating the map in Z4R6 and rendering the lowest subdiv mesh in VRAY/3DSMax.

I’m frustrated.

Finally I got it with this tutorial: Abita - 3dsmax _ Zbrush - 04 Setting Displacement in Max
http://www.youtube.com/watch?v=4DVBjKqJXy8

The key is to view your created displacement map in Zbrush as he shows, pretty basic, I forgot I frequently used this feature in generating noise.

The displacement on must look right on your model! No faceting, no problems.

  1. Import your lowpoly model, non overlapping UV-ed from Max as he shows.
  2. Subdivide this model and sculpt ABCD…etc letters on it so you can see easily if the displace is working
  3. Create DispMap: whatever options you select here, doesn’t matter first, better switch everything off, (leave Mid: 0.5)
  4. Disp On switches on and place your mouse cursor over the gray thumbnail. Zbrush shows your disp map, it must be smooth, no faceting and the letters must show up in white on your gray UV layout+dispmap.
  5. This quick preview you see must look like its blurred in photoshop with your sculpt standing out clearly in white.
  6. Export this disp map as he shows on above tutorial and bring it in max - follow the tutorial it isn’t hard from there and you will see on the displace 3DSMax modifier that the map is OK.
  7. Now you can render it in Mental Ray.

Then if you put this map into a materials 3D Displacement shader, it will mess up the render possibly, but check this out:

Go in 3DSMax to Mental Ray render settings Indirect Illumination --> press Generate Final Gather Map File now and you will see on the displayed final gather pic that the displacement map works indeed fine only the shaders/maps need to be set up right.

From this point on its just experimenting with the settings to get a good render. The important point was that the
map must look right in Zbrush with Disp On.

How Can You Go Wrong?

  1. I sculpted detail on top of my lowpoly mesh without Unwrapping its UV-s manually. The hipoly was 6mil at the end.

  2. I decided how cool it would be to show displacement map rendered in Mental Ray.

  3. I manually unwrapped my lowpoly mesh in Max - using same lowpoly in ZB and Max - same position, no scaling etc…

  4. When the UV map was ready I exported the model as OBJ and opened my ZB project, switched to lowest subdiv and simply imported the OBJ with the UVs onto the [same] model without UVs

  5. This resulted in the whole UV map becoming faceted in ZB with Disp On, cut up into rectangles [the UV cage], super ugly!

naday, thanks for your reply. I watched this tutorial, result is the same. But I solved mesh ballooning problem simply changing UV’s in 3ds max (more tidy). Still my mesh is not rendering ideal but I can solve this problem.

I used the most basic displace gen function in Zbrush. I fixed my model by importing the good mesh with good UV and subdividing step by step and projecting the details from the original hipoly at each subdiv. Sadly this resulted in messed up geo in the toes that I have to fix. Next time I will begin sculpting with a totally good mesh that displaces perfectly.

Now the displace render problem arrived to the next stage: polishing. Will try to generate new maps with most features on to make seams disappear etc. All in all this is a good progress, since until yesterday I was unable to render displacement in Max always got ugly faceting or bumps or bloating without displace detail.

The easiest route in Max appears to be making EXR with Multi Map Exporter in ZB…

rough_displacemap.jpgrough_displacemap2.jpg

Good re-projection without errors:

I was able to project the original detail onto the new mesh by subdividing it one level then setting the original mesh to same subdiv level and pressing the Project All --> with massaged settings. This method did not produce spikes and local explosions so I could fix/finalize the model fast.

Now onto finding out how to make UV island seams disappear…

I managed to FIX THE SEAMS!!! Victory!!!

Z4R6 Displacement map rendering in 3DSMax2012 Mental Ray

Did as I wrote above to render the displace map. And to fix the seams the key was:
In turbosmooth set:
Iterations: 0
Render Iters: 3

That did it! Thank you plaguelord!!Master plaguelord’s fantastic solution was for VRAY, but works for MR too wonderfully.
I’m putting this model up to the marketplace with Mental Ray, since with MR no third party plugin is required. And MR displace render is really super-fast (Edge Length: 2, Max Displace: 20, NO Smoothing, Max. Subdiv:1K, Displacemap: Z4R6 32-bit EXR Akin Bilgic’s settings) even on my 5 year old computer.

Check this render out, this is the second angle I rendered and both angles are free of seams. Hurray! Compared to the state 4 days ago - where I was frustrated not ever having been able to render displace maps in Max for years, everything came out bloated and horribly distorted, - this is quite the substantial change, isn’t it? :smiley: Wow, can’t believe I finally mastered displacement rendering, what a stupid ignorant lamer I was.

rough_displacemapSEAMFIXED!.jpg

x

I also managed to reduce my rendertime from 18 minutes to 38 seconds with my next product, an elaborately sculpted gothic furniture piece.

  1. Important to start a new scene in max
  2. Set Units to meters
  3. Import your lowpoly
  4. Scale it to life size, my model was 1.4 meters high
  5. XREF isn’t needed, “select all vertices and scale only in that way” doesn’t seem to matter, since Zbrush will reset your scaling changes.
  6. Export this scaled model to your Zbrush scene that contains your hipoly model
  7. Import the scaled lowpoly and attach it to the subtool of the highpoly
  8. Deformation —> Unify XYZ appears to make your models to “jump together” and re-sized to same size

…Here helps if you corrected scaling earlier, imported a life-size lowpoly model, reprojected details onto it, so your hipoly and lowpoly models are relatively close in scale. This usually happens when you build a rough lowpoly in a modeler then create a hipoly from it in Zbrush, then retopologize the hipoly with Zremesher, resulting in a quality lowpoly model, which you take in Max to UVW Unwrap.)

  1. Select your hipoly subtool element, create a displacemap from it
  2. Export the lowest subdiv level of your highpoly
  3. Import the lowest subdiv level of your highpoly in Max, you will notice that the scaling changed few centimeters
  4. Notice your Units were set to meters in step 2. DO NOT re-set your Units now its too late, begin new scene again if you forgot.
  5. Set Renderer to Mental Ray, use basic settings for render first, no lights, no textures just Arch&Design as Wayne Robson shows in his video
  6. Notice how fast the rendertime is, mine was 18 seconds with default FG no lights, one plane for the floor on a 3.35Ghz E8500 Core2Duo 6 years old machine!
  7. Add diffuse texture, one light, set MR to more optimized settings: 38 seconds. Still fantastic compared to 18 minutes of my earlier finished product, see on above pictures.

UNITS SETTING WARNING
Do NOT set your units late, when you already imported your lowpoly and scaled it into a fresh scene for the first time!
Always set your units first, set renderer to Mental Ray, then import any lowpoly.

This is important, because you must see in the Renderer SHADOWS & DISPLACEMENT settings , with the “View” checkbox unchecked Edge Length: 0.002, or with view checkbox checked Edge Length: 2, also Max. Displace must be 0.02m or something similar if you do a furniture, those are usually 1 to 2 meters in height, approx.

So its important that Max + MR is set to Meter Units (or what units you prefer) FIRST and then Max + MR must detect the correct displacement scale and show it in the Max. Displace field!!! This is the key for lightning fast render.

What happens If you set UNITS late or use old scene with different units:
You mess up Max’s “Max. Displace” value detection and Max’s internal displacement scaling and Max will take to render your MR scene FOREVER possibly using up all RAM then exit with “Not Enough Memory”.

So this is a great help = remedy, if you are stuck. Valuable Trick&Present Tip for you, have fun! :slight_smile: