Hi,
as I am epically announcing in the title of the thread…I´d love to start a thread with usefull tips on how to get proper displacement from Zbrush to other 3D Apps…
Some things probably are less software specific then others, but some might apply generally.
I´m personally using Zbrush for detailing and sculpting and 3DS Max and Vray for all the other stuff.
Actually I´m mostly sculpting in my free time(which is very sparse at the moment unfortunately), but I´m trying to sneak in some sculpting in my work time as well.
But til this day, I always ran into problems and couldn´t remember what did or did not work for me and why.
I´ll start with what I found so far.
First of all: there are different occasions, which may require different approaches.
1. Concepting.
If you are mainly using your sculpt for illustration or concept-art, you can probably get away with doing most if not all of your work in one app.
Zbrush has plenty of features and even though I haven´t dabbled much with it, I´ve seen some amazing art created purely within Zbrush and some more with just a little postproduction in Photoshop.
In this cases, you probably don´t have to worry about render settings, displacement values, 16 Bit vs 32 Bit or UV Layout at all.
2. Texturing and fine tuning Models for the use in other apps.
This is when things get funny and you have to worry about all of the aforementioned things…
Basemesh
Before you even start sculpting, you should know what your model is going to be used for.
If it has to be rigged and animated, its best to either start with an animation friendly basemesh in your 3D app before you start sculpting or to just sculpt to a medium detail level and then retopologize this into an animation friendly mesh before working on the finer details.
UV layout
This is where I´m still having the most problems.
No matter how well layed out and relaxed my UVs were or what settings I used for exporting from Zbrush and rendering in 3DS Max - I could not get rid of visible UV seams (dark gaps) in my displaced models.
After doing a lot of research I finally found, that that is just an issue with displacement, that needs to be worked around. Here are the options I found:
-
The easiest method is to just place your UV seams in a way, so they are well hidden on the model (under clothes or accessories, in less visible places etc.). Thus it´s a good idea to only start working on UVs after you good a good idea where your sculpt is going to in order to hide your UV seams in the best possible way.
Generally try to use as few UV shells as possible… -
Squaring out round seams.
I´m not good at explaining the technical mumbo-jumbo, but displacement just can´t deal properly with verts that meet at an angle, so thats why you get the gaps at round seams.
The only sure way to avoid this seems to be, to square out all round seams.
Here is a blogpost showing the process in Maya, but the same can be achieved using 3DS Max.
It´s a tedious process though and I still have to figure out how to make it faster, epecially for more complex models.
-
Ptex
I haven´t done much research here.
AFAIK there is no native support in Zbrush yet, I know vray supports it and I know from the blogpost I mentioned above, that it doesn´t fare well with triangles in your mesh.
But I guess there might be a way to use Ptex maps by importing your sculpt into a Ptex-capable app and exporting your displacement map from there. -
Vector Displacement.
I also haven´t touched this, so not much I can say here either, but I gues there will be the same issues with UV seams here.
Exporting your maps and rendering.
I found this next tutorial incredibly useful and informative:
http://www.cggallery.com/tutorials/displacement/
It basically goes through all the settings and explains some of the choices you have.
And some more considerations:
16 bit vs 32 bit displacement
Why 16 bit?
-smaller filesize
-you can make corrections in a 2D app (can´t really work with 32 bit maps in Photoshop for example)
Why 32 bit?
-more accurate displacement
-no problems with displacement scale
I always had troubles with Tif-based displacement maps in 3DS Max, so the
workflow with 32 bit-One-Channel-EXRs explained in the tutorial by Akin Bilgic was an eyeopener for me.
What else is there?
The size of your maps
I can´t remember where I found the info, but apparently size DOES matter…there is only so much information a 2048x2048 map can hold.
So if you are getting pixelated results in your displaced model, chances are good, that your exported map was to small.
If your model needs to hold up even for extreme close ups (wrinkles and pores), you might even run into this problem with the maximum of 8192x8192 which you can export from Zbrush.
In that case you´ll have to use multiple UV-tiles in your displacement.
I don´t have the time right now to find some of the tutorials on that matter, but here is a thread that hints at the direction:
http://www.polycount.com/forum/showthread.php?t=93984
HD Geometry
Last but not least, there is the issue of HD-Geometry and how to properly implement it in your workflow.
You can get amazing detail with it, if you have the time and patience to use it and you can also export all that amazing detail from Zbrush.
But there are also some problems you have to know in advance:
-
You can´t delete lower subdivisions once you have added HD Levels to your sculpt.
So if you´re planning on using a 2nd or 3rd level mesh in your final output as basemodel, you have to delete the lower subdivisions BEFORE working with HD Geometry.
This means you also can´t capture proper displacement maps for the use of bump maps (you do that usually from a higher Level to only get the fine details) or normal maps, if you haven´t deleted the lower Subdivisions first. -
You can´t hide parts of the mesh once you added any HD Levels.
This turned out to be problematic on my last project, where I had to work on areas outside AND inside the model, which I couldn´t reach without hiding parts of the mesh.
I ended up splitting the model into various subtools and worked on them separately, combining the maps afterwards.
This is pretty much all I can think of at the moment, hope you´re finding this helpful and feel free to contribute!
