Displacement - One thread to rule them all...

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Display Modes
  10 October 2013
Displacement - One thread to rule them all...


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...


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:

1. 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...

2. 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.

3. 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.

4. 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:

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:


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!

Last edited by insertmesh : 10 October 2013 at 07:58 PM.
  10 October 2013
Displacement Problem - FIXED!

Thanks for the great post insertmesh, I have performed all of these steps and am getting weird results (see image : http://imageshack.us/photo/my-images/42/yr2h.jpg/). I made the image black for better viewing, but all the weird lines and blotches should not be there. I am using zbrush 4r4 and maya 2014. I have made all of my UV's in Maya. I am currently exporting as a 32bit, 2048, 3 channel map. I have tried many variations of export settings and always the same results. Any ideas as to why the image looks like this? Any help would be greatly appreciated! Thanks in advance.

@insertmesh Thanks man! changing the UV tile a bit so nothing touched the border saved me!

Last edited by ckadleci : 10 October 2013 at 02:53 PM.
  10 October 2013
Workarounds for HD

Once you finish sculpting, in the subtool palette click duplicate. You will see everything transferred over to your new mesh, both sdiv and HD sdiv levels. However now, when you go back to your original mesh you will notice all the HD sdiv levels have disappeared and you are now able to delete and save out your original mesh at any sdiv level you like.

For viewing purposes try clicking the solo mode, once in HD
  10 October 2013
@ckadleci: Looks a bit like what you get when your uv shells make contact with the UV tiles border to me. Zbrush doesn't like that...

@Fxmatter: I'll check out the solo mode, thanks for the tip. I know you can clone the subtool to get rid of the HD levels. But I don't need to export a higher level mesh, I need to get rid of lower subdivs, so I can export the displacement map from a higher subdiv level. only workaround I can think of would be:
1. Clone the subtool to get rid of the HD levels and delete as many lower subdiv levels as you need.
2. Attach that clone to your original subtool and enable HD Geometry
3. Reproject the HD levels from your original subtool to your clone.

But I'm not sure if reprojecting would even work with HD geometry and I always had troubles getting clean reprojections...
  10 October 2013
So i just got confirmation from Vlado over at the chaosgroups forums, that the issues of the gaps around the seams just needs to be worked around.

I got another tip there though: It seams to be a not so uncommon technique to import your models from Zbrush to Mudbox and do your displacement baking there, since it has Ptex support.

Or you could even bake it in 3DS max, thanks Neil for the tip!

Quote: Or do your baking in max, so you avoid the problem with turbosmooth being incompatible with catmull clark subdivisions.

This will obviously only work if you have not used HD geometry, in that case youīll need to bake out only the medium details in the displacement and capture the HD geometry with bump mapping. If you are doing this, plan ahead and make a clone of your model in zbrush and delete all the lower subdivision before starting to to sculpt and HD geometry, so you will be able to capture a displacement map that only contains the fine detail from your HD levels, which you can use as bump map.
  10 October 2013
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright Đ2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 07:28 PM.

Powered by vBulletin
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.