ZBrushCentral

Multi Map Exporter - Information, Installation and FAQ

No. MME uses the Mask by Cavity feature in the Tool>Masking menu which doesn’t use HD Geometry.

Marcus will there be a new version of MME for the new Vector Displacements in R3?

In due course, I expect so.

Good to know its on the cards :slight_smile:

I’ve noticed that when outputting 16 bit images, the intensity or alpha depth factor is given in the filename.

However what I’m wondering about is what units those numbers are in?
Any 3ds Max users here that can tell me if I should be using meters, or feet/inches or generic units?

Secondly, the 32bit images are always saved as .tiff. 3dsm does not accept the .tiffs and when I save them as .exr in photoshop they get clamped and I lose a lot of details and basically get a unuseable map. Can I somehow change the output format of MME or can someone give me a proper way to get .tiffs into .exr without losing any data?

I’m using Windows 7 if that matters.

Would it be possible for the plugin to offer 32bit OpenEXR as well ? I’m having issues with baking 32bit tiffs from zbrush, keep getting ‘error reading strip’ issues

You mean for displacement maps? (For vector displacements exr is an option.) Yes, I will add that in as soon as possible.

Thanks Marcus!

BTW do you know of any reason zbrush 4r4 may be writing corrupt tif files (bad strip found), I can’t open them up in nuke or any other app ?

SubDiv level: Sets the subdivision level from which displacement maps will be generated. If the slider value is greater than or equal to the highest subdivision level then level 1 will be used.

Is there a way to limit the highest subdivision for displacement maps? eg, for a model with 6 subdivisions, can you project a map from level 1 to level 3 and skip/ ignore levels 5 and 6.

Only by deleting the higher levels. MME uses ZBrush’s displacement map generation which always takes the highest level available.

I’m somewhat of a noob to both Maya and ZBrush, so hopefully, I can explain myself clearly. I’ve been struggling with figuring out how to generate displacement maps from ZBrush 4R4 to use in Maya 2012.

I’ve tried several approaches so far and none of them have produced satisfactory results. My base mesh from Maya is very low poly. I plan to use a smoothed version of the mesh (using the 3 key) or alternatively, a smoothed proxy of it. My first approach was to export the low poly mesh from Maya and import it into ZBrush. I divided the mesh 4 times and made my edits to the level 5 mesh. I created a displacement map of the mesh and applied that to my mesh in Maya. But here’s the problem, the level 1 mesh in ZBrush no longer matches the mesh in Maya, so the resulting render in Maya does not match ZBrush’s level 5 mesh.

If I re-import the Maya mesh into ZBrush, replacing the modified level 1 mesh, this caused noticeable changes to ZBrush’s level 5 mesh.

Abandoning the idea of retaining my original mesh in Maya, I exported ZBrush’s level 1 mesh and imported that into Maya to use as my low poly mesh. That worked, but not without issues. First the mesh is much smaller and has to be scaled up 14-15 times. The displacement map also has to be scaled to compensate. That, of course, is workable. However, the resulting render tests had serious problems. The grid lines of the low poly mesh are plainly visible (selecting Smooth UVs when I created the maps didn’t seem to make a difference) and there were other visible defects that I didn’t see when I rendered the smoothed mesh without the displacement map applied (problems with the character’s eyelids and mouth).

Next, I created a smooth proxy of my low poly and exported it’s higher poly mesh to use in ZBrush as the level 1 mesh. I subdivided it twice and made my changes to the level 3 mesh. Again, the problem is that changes made to the level 3 mesh are also “telegraphed” back to the level 1 mesh, resulting in an inaccurate displacement map. Applying the displacement map to my smoothed proxy did improve the problems that I had with grid lines and other artifacts, but the resulting render still doesn’t match the ZBrush level 3 image. Now, I stuck. How can I use the modified level 1 ZBrush mesh in Maya? This corresponds to my smoothed proxy mesh, not my low poly mesh. I don’t want to have to abandon my low poly mesh for blendshapes, rigging and animating.

I’ve read and re-read Scott Spencer’s guide. He mentions this problem and also mentions using the Morph Target as another solution to overcome it. I tried playing with that as well, but I’ve had similar problems. Switching the level 1 modified mesh back to the morph target, telegraphs changes back up to the higher level meshes (just like re-importing the original low poly mesh).

What I am missing? Can I force ZBrush to generate displacement maps from my ORIGINALLY imported mesh instead of it’s modified level 1 mesh and retain all of the changes that I made to the subdivided mesh?

<!–[if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings> </xml><![endif]–> After much trial and error, I think that I figured out a way to get decent results. I took some notes on the process for myself and thought I might as well share them. I still need to do some additional testing, but I think that this will be a workable solution.

  • Make sure that your mesh does not have any N-Gons or overlapping UVs. If it does, you’ll probably run into issues with your displacement maps. Fixing the N-Gons after sculpting will result in changing your mesh – most likely resulting in the complete loss of your ZBrush changes. Use “Cleanup” in Maya. Choose Edit Mesh->4 sided faces, then Edit->Invert Selection. Click on the isolate selection icon in the viewport to easily identify n-gons and triangles. Use UVLayout’s Overlap function under Optimize to identify overlapping UVs. Select the “Pin” option on Edit->Settings and use the smoothing/pinning brush over the problem areas by pressing the 6 key.

  • Export your low poly mesh from Maya.

  • Import the mesh into ZBrush , subdivide it and sculpt it. In my case, I subdivided up to level 5.

  • To create your displacement map(s), select Zplugin->Multi-Map Exporter. Click on both the “Displacement” and “Export Mesh” options. Use the following options:

Subtools
Map Size 4096 (2048 might be sufficient)
Map Border 8
FlipV

For the Displacement options use:

Subdiv level 3 (assuming that your smooth mesh in Maya is configured to use 2 subdivisions – check/set this by looking at the shape node’s “Smooth Mesh” settings in the attribute editor)
DpSubpix 2
Mid 0
3 Channels
32 bit

  • DON’T use Subdiv level 1 - Although the resulting map(s) should work, this will result in poorer results when rendered (grid lines and other artifacts might be visible).

  • Use the Maya utility imf_copy to convert the displacement map tif file(s) to map files. It’s a command line utility. You’ll have to dig into the contents of the Maya app (View Contents) to find it if you’re using a Mac.

  • Import the .OBJ file created by ZBrush into your Maya project. Note that even though you exported the level 3 mesh from ZBrush, the mesh of this imported object will be a low poly mesh, not a higher poly mesh like a smoothed proxy (something that I didn’t expect). Replace your low poly mesh with this newly imported mesh. If its necessary to scale the mesh to make it the same size as the original, make sure that you scale the displacement map by the same amount.

  • Select the mesh and then select Window->Rendering Editors->mental ray->Approximation Editor. Click on the Create button in the Displacement section. Click on the Edit button. In the Attributor Editor, leave the Approx Method at Parametric and enter 4.0 for both U and V subdivisions

  • Create a new Lambert material. Create a 2D File Texture. Set the Image Name to your displacement map. Middle mouse drag the File Texture onto the lambert material and select “displacement map” from the popup menu.

    • If you only have a single map, select your mesh and set its material to the newly create lambert material. If you have several maps that apply to different UV shells, apply the material by selecting the UV shells in the UV Texture editor, right clicking on the lambert material in Hypershade, and selecting Assign Material to Selection.

    • Select your mesh and hit the “3” key to make sure it’s smoothed and render the scene using Mental Ray

    <!–[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> <w:DontFlipMirrorIndents/> <w:OverrideTableStyleHps/> </w:Compatibility> <w:DoNotOptimizeForBrowser/> <m:mathPr> <m:mathFont m:val=“Cambria Math”/> <m:brkBin m:val=“before”/> <m:brkBinSub m:val="***45;-"/> <m:smallFrac m:val=“off”/> <m:dispDef/> <m:lMargin m:val=“0”/> <m:rMargin m:val=“0”/> <m:defJc m:val=“centerGroup”/> <m:wrapIndent m:val=“1440”/> <m:intLim m:val=“subSup”/> <m:naryLim m:val=“undOvr”/> </m:mathPr></w:WordDocument> </xml><![endif]–>

Surprised I haven’t been able to find any post any where about this but can someone explain the new option of being able to export as 32bit EXR’s? I try to do it but right before i export i only have the option for Tif, even tho I have EXR selected.

Yes, there’s a bug where you need to have PSD selected as the file type for 16 bit format in the Export Options>File names dialog box. You’ll then be able to save out 32bit EXR OK.

Wow, that one was hard to find out. Please fix that. Cheers.

Is it even possible to batch bake all substools into one map? When i press subtools and merge all, everything is overlapping.

You need to make sure that your UVs don’t overlap.

Does MME Export Geometry HD Texture, VD, etc… If not it would be a great functionality to have with the multi tile functionality that it provides.

Yes, MME already includes HD Geometry in maps, though how much detail is captured will depend on your UVs and map size.

…regardless of whether the EXR option is on. It always saves it out as TIFF. I can then convert it in Photoshop,
but would like to know if there is some secret setting I don’t know about. I am saving in 32 bit.