ZBrush to Maxwell: preview
Posted: Mon Jan 28, 2008 10:25 pm

Over the next couple days I'm going to try and work up a brief tutorial of my workflow for getting ZBrush into Maxwell.
Until I do, I'll share a little bit of how I did this particular image.
First and foremost: my ZBrush workflow is strange. I use AUV tiles exclusively and do all my texture painting directly in ZB. I haven't tried to do this with traditional unwrapped UV models. If you're working that way, I'll have some suggestions later on.
Secondly, I use 32bit displacements. 16 bit are probably sufficient though. Here are the Displacement Exporter codes that generate (what is for me) usable displacement maps:
32 bit: DE-JCFK-EACADA-D32
16 bit: DE-FCFK-EACADA-D16
Third, I always subpatch my exported ZBrush mesh before exporting to Maxwell. It lets me have a bit of control over how dense the mesh is and it's usually a good idea to have a slightly denser mesh for displacement than it is for modeling in ZB.
Once I've got the model textured, sub-patched and ready I start tweaking the displacement values.
Several important things:
ZBrush models export huge. Huge as in scale, at least when importing to Lightwave. I always scale my models to the appropriate size. Scale is very important to Maxwell, get it wrong and it will look wrong.
There is no universal 'right' displacement height. You will need to tweak this parameter a bit. Unless it's set to Absolute Height the value represents a percentage of the total model size. A setting of 1 means that a 1 meter tall object will have displacements that move a maximum of 1cm. Since the default is for an offset of 0.5, that means 500mm in and 500mm out (I may be wrong here). Height values that have worked for me range from 1 to 5. I suggest getting the camera close, having a reference from ZBrush handy to compare against and tweaking the value until it looks right.
The default 0.5 offset is correct for ZBrush. This means that Maxwell interprets the median color as neutral. Darker indents into the object and brighter sticks out.
I tend to use adaptive precision. You shouldn't because you probably don't have as much time as I do to just let things render. Adaptive works fine for me because I tend to just let things render overnight and 8 hours of rendering doesn't really mean anything to me. Adaptive means I don't need to tweak anything else. Before I do the real tutorial I'll try and figure out what that value should be. I suspect there are 'good' numbers based on mesh density. IE: model has 30,000 polys, use a Precision of 16, or something like that. I still need to do tests though.
And there you've got the quick and dirty method I use for getting from ZBrush to Maxwell. Before I write up the more in-depth tutorial the things I want to address are:
- Using traditionally UV unwrapped models
More depth on the Height value
Much more depth on Precision