Hello there!
I have some questions and tried to find answers, literally reading tons of threads here at ZbrushCentral, at PolyCount and other forums, and each time i encountered an answer, it created more questions, so i decided just to make my own thread and ask some of them, which gave me a headache for a long time. So, before i ask them i’d want to apologize if there are answers to them here at ZC forums, i really tried to find them, but i couldn’t. Pff. Let’s get started:
What is correct workflow for creating displacement maps for use outside of ZBrush?
This question was asked tons of times, really, i have seen a lot of threads containing same question, but the answers were also the same, and none mentioned one thing(or i didn’t find that). That thing is: people only ask, how to make their base mesh look like it was before they subdivided their model, and they don’t ask how to handle shape changes.
Well, and the answers were like that:
1st - get back to level one, create morph target and reimport your base mesh.
2nd - before sculpting and dividing the mesh, store morph target, so your base mesh is stored, and you will just switch it before creating displacement map.
3rd - use cage button, which is actually good, at some point, but not always, and is not consistent.
Nice answers, they are really good, but, here are problems:
1st and 2nd options are good only when you just need to sculpt fine details, like scars, pores and so on and so forth, these options won’t work, if you change SHAPE of your model. Imagine you brought head with really short horns or ears, while sculpting, you adjusted their shape, and made them longer and bigger, they no more represent your base, because it’s changed. As soon as you create your displacement map for that adjusted model, using those two options, you will see that shape is the same as your ‘unchanged imported base mesh’, but it will contain all your fine details you sculpted. This is not good, and displacement can’t bring your forms you made (longer and bigger horns and ears) to your first base mesh.
So, in this case 3rd method works(sometimes), cage button will calculate a base for you after you’ve done your sculptings. This cage will take into account your adjustments, and all shapes and form will be presented, BUT, there are two problems:
1st - if we bring taboo’d xD MudBox here, when you import your base there, and subdivide, and then go back to first level (in MB its 0), you will see its unchanged, same happens if you subdivide your mesh in Maya, Max, Houdini, C4D. Its the cage mesh, but it’s consistent.
What i mean by word ‘consistent’: if you subdivide mesh in MudBox, and sculpt on some side, and go back to cage, only the vertices which were affected by your sculpt will be changed(positioned in cage due Multi-Res Mesh Editing stuff to represent higher level’s shape), and those vertices which were not affected by your sculpt will be in the EXACTLY same place, uchanged.
Now for ZBrush: If you use ‘cage’ button, it only APPROXIMATES vertex positions, which means if you sculpt one side, and 2nd side is not affected, then go back to level 1 and press cage, it will be calculated nicely, but these unaffected vertices from 2nd side will also change their positions, even if shape will be almost the same. This first problem can cause problems if you want to keep consistency of your mesh between DCCs, and can also cause problems in blendshapes creation.
2nd problem: cage button can (usually) position vertices at EXTREME scale, especially if your base is too low poly. It mostly happens in places where you have fine wrinkles in highest level, but level 1 mesh in those places is that low, so it makes spikes in mesh. This 2nd problem causes problems in rigging, causing bad deformations etc.
3rd problem: well, what if i didn’t make my base in other software, and sculpted my mesh entirely in ZBrush and after just retopologized it?
After retopo, my ‘retopo’d base’ will have SAME shape as highest level even without shrinkage problem, because i snapped my polys onto it. Then i use projection master to project details, go back to level 1, it represents my highest shape, but can’t be used in other soft without ‘Cage’ button enabled, because if i use my 1st level base without cage and bring it in maya, shape will be shrinked due subdiv algorithm, and this shape WON’T be the same as in ZBrush.
First two methods work really nice for hard surface stuff, imagine you have armor plate modeled outside ZBrush, you just bring it in, subdivide and sculpt your damage etc without changing shape, then go back to level 1 and reimport base and viola, perfect displacement for exactly same model, which will work as intended.
But problems come with organic stuff, because when you sculpt it, you also change shape most of times.
So, considering all these problems, i’d like to ask my questions:
1 - How ’ in correct way ’ should i create my displacement map?
2 - How could i maintain same shape and details between ZBrush and Maya? I mean: i want to have same shape and details in Maya as in ZBrush when rendered.
3 - What drawbacks of using level 1 base changed by ZBrush (shrinked) instead of actual reimported base or level 1 with ‘cage’ enabled?
4 - What if i’d use level 2 as base?
5 - What if i have created mesh specially for animation purposes and rigging, which has nice topology flow and UVs, and just want to wrap that mesh(current production workflow), instead retopology, what displacement steps would it take with ‘wraping workflow’?
6 and last - What is the workflow for creating blendshapes in ZBrush, considering all the stuff i mentioned? Is it better to use dynamic subdiv to ‘preview’ your result when you sculpt your shapes or real subdiv(but last one will cause issues, because model is already rigged and real subdiv causes shrinkage)?
So, these problems bother me for really long time, and i didn’t want to bother other people with them, but, i couldn’t find solution on my own, so i made this thread, and i would be really grateful if someone could answer my questions.
These answers would help me and others, because here i gathered ‘main’ problems of ZBrush’s displacement and base mesh in one thread.
ZBrush is a very nice app to make your creative dreams come true, but it has steep learning curve.
I believe ZBrush community is one of the best in CG industry and i believe there will be someone who had same problems when they started to use ZBrush, and they solved them, and could give an advance for people like me, so we could solve them and continue our sculpting journey.
Thanks for your attention, have a nice time!