I’ve spent the last few months trying to find the best settings to render high quality 32-bit Displacement maps from Zbrush3 MD3 with Renderman. Finally it seems I’ve nailed it, I found it so frustrating that there was so little written about this topic, I had to find out mostly everything myself, I hope by sharing this knowledge I ll save some time for other artists.
Renderman has such a great potential when it comes to rendering Displacements, but its also extremely difficult to set up to get a high quality precise renders without seams. So here is the list, this isnt a complete guide, more of an update/correction to the old Zbrush to Renderman guide, also check out Scott Spencer’s Zbrush to Maya pipeline for the maya import settings.
1) Tool: Displacement:SmoothUV, This is the single most important setting if you are using Rendertime SubD-s with Rfm, or using a Standalone Renderman renderer, as if this is not turned on the UV coordinates are not going to be interpolated as Renderman expects them. This will result in bad seam artifacts and generally a very poor representation of your hi-res model, as all the internal UV coordinates will be dislocated so basically everything will be moved off target. ( However if you wish to use basic Maya SubD-s with Rfm, then it Should NOT be turned on) (Smooth UV is a great addition to ZB3.1, this option wasnt working in Zbrush2 with MD2)
2) Tool: Displacement:Adaptive, Also highly important and must be turned on so your Displacements render precisely
3) Tool:Geometry:Cage: Another important setting, I found I get the best results from using the Cage, instead of the level1 or even a morph target( don’t forget, if your character is already rigged you can always use this new geometry as a parallel blendshape)
4) Manual UVs: you must have high quality, relaxed, manually created UVs. I also use “Stretch to Square” option in Maya under Window/UVtexture Editor/Polygons/Layout UVs. This will maximize the space available, although this will distort proportions, but if you are painting your texture maps in Zbrush or any 3D paint package, it wont matter, and this will increase the practical resolution of your maps quite a bit.
Renderman is super sensitive to UV seams, so its generally a good idea to have as few seams as possible, and try to hide them at places that arent visible. And this is also a good reason why you should avoid any automatic mapping such as GUV or AUV tiles.
As although for still images AUV/GUV wont cause any problems, but UV seams MAY show up when animating with Motion-blur.
Another tip: If you are mapping some simpler objects you could try to make all borders straight/perpendicular, this will also help to eliminate visible seams.
5) Hi-res to Low res ratio: be reasonable, if you are pushing it too far you will get cracks along seams as well as a general stretching around the UV border areas. This also highly depends on the angles you are displacing, like if its a simple shape, you might be able to get away with more extreme displacement, but if you are displacing something complex like a character, in my tests I found a good ratio to be a 8000poly lowres to a 2 mil hi res. Again this really depends on the type of character you are doing, but this is something important to keep in mind, always do tests before you start rigging, and if you followed all the other rules, and still get seams, then you might want to render from a higher level that you were originally planning for.
6) MD3 settings from top down: 0,1001,4096(or what you want), 100, 0, 8. These are actually the defaults. The most important from these settings is the Border and the Texture size. I did a lot of tests with this as well, and Border 8 is the best value, anything less may result in visible seams, anything more may be too much. As for the texture size its always ‘the bigger the better’ you will get more accurate more artifact free as you use larger and larger maps.
7) Quick Code: DE-LBEK-EAEAEA-D32, This is still the best quick code for renderman, I did some tests with A.D factor set to Off or Auto, but this resulted in a lower quality displacement. Seamless didnt seem to do much, Smooth just generally blurred the whole map, leave these settings off.
8) Merge UVs in Maya, Zbrush3.1 unfortunaly has a bug and will export your UV’s all broken up into individual UV islands for each polygon. So when importing back to Maya, open up the UV texture Editor, and select all, and select Polygons/Merge UVs with a very low Distance Tolerance. See 4) why this may be neccesary.
PS: I seen people changing the Color Balance in Maya from 2.2/-1.1 to 1/-0.5 for ZB3.1, but for Renderman I still got best results with the original settings.