This weekend I spent quite a few hours tackling what I feel is one of the central tech assumptions this project is based upon – the assumption that we are able to transfer the million+ poly detail from ZBrush to a more multi-purpose 3-D application like Maya for rigging and animation. The primary method for achieving this is through a displacement map. Initially, I was hopeful that we can use the Maya 2014 DirectX 11 (“Next Gen”) viewport shader so we can eliminate render time on the final product. However, I have been unable to find a way to get a ZBrush-exported displacement map to properly show up on that shader – at least for now. So, for the time being, I decided to move on and try and hook up a displacement map on a standard Maya shader and render it with mental ray. After some trial and error, and a very helpful video (unfortunately entirely in Argentinian Spanish), I’m glad to report I was able to render the full detail of a Zbrush model onto a very low-resolution Maya version of the model. Here is the progress below:
This, Vladimir Meatball, was the low-poly I brought into Maya from ZBrush, it was – UV unwrapped – another process that required figuring out:
Here, for your viewing pleasure, is a failed displacement map render – I’ve been staring at a lot of these cauliflower-like images this weekend:
Next, I was able to properly smooth out the mesh, but the render time ballooned from 10 seconds to 2 minutes, not good:
Finally, I was able to get an almost identical result in a render time of 11 seconds!:
Unfortunately, below is what the displacement map looks like on the DirectX11 shader – will have to keep trying. A possible next step is to import the ZBrush ZTool into Mudbox, and try generating the vector displacement from there. Since Autodesk owns both, it is already set up to play nicer with Mudbox – so maybe this will end up working.
But again – overall, I’m pretty happy with the progress. I have figured out how to generate UV maps in ZBrush using UV Master, how to remesh and export a low-poly model with those UVs, how to export a vector displacement map (much better than a regular gray-scale displacement map), and how to hook up that map into a Blinn shader that can then be rendered with mental ray.