View Full Version : Working with multiple ZBrush generated displacement maps. Tips please?
09-20-2004, 06:34 PM
Iím making a character in Maya and Zbrush. As it has a high poly-count (around 8 million) and my computer not being the fastest, Iíve broken him down into 3 sections (head, torso and legs) so I can get a relatively high detail for the displacement map.
My question is; has anyone got tips on how to make sure the displacement maps are going to work together? Each displacement map, which is generated in Zbrush has a different Alpha Depth Factors. What is the best way to get these maps to match up? Is it just a case of changing the APF to the same value in Zbrush before exporting them?
Also, is there a good way to get the Medium, Positive and Negative maps (to which there are 9 in total) to merge together without pasting each one of them together in Photoshop?
If anyone is interested my half finished model is at: http://www.deviantart.com/view/10618655/ (http://www.deviantart.com/view/10618655/)
Thanks muchly. :)
09-21-2004, 01:57 PM
Not a single reply?! :sad: Has no one else tried this way of working with high-resolution Zbrush models? Or is this way of working just not advisable?
I tried pasted together the 3 maps into one and then importing it into Zbrush to use the curves to get the Positive and Negative… but the image seemed to lose too much quality.
Also parts of the model did come out looking rather puffy when other parts looked OK.
09-21-2004, 03:11 PM
You have not told us what version of Zbrush you are working with. Zbrush 2 just came out and the forum is VERY new.
09-21-2004, 03:15 PM
Oops! Sorry. Yeah, I'm useing Zbrush2. I assumed that most people are using ZB2 as it feels like it’s only just really taken off.
If its 8 million polys and you already need to break it apart to work with it in ZB ... how will you be able to render it or render an animation of it?
09-21-2004, 04:08 PM
The idea was to put the displacement maps on the base mesh in Maya and pose it and render it in that program. I may need to leave it over night to render but it, hopefully, will do the job.
Hmmm... Have a i missed something out?!
09-22-2004, 01:33 AM
I thought could do this but probably not the best way anyway and prob wont work unless your model is in different bits where you wont notice it at all.
You will just need to get better machine
Ive done this, its quite a bit of effort and havent got the best technique, I tried by blending between displacement maps and such. I even went as far as photoshopping two border maps together and then smoothing it out in zbrush and then blending that as a third map.
I.e. i started with
Leg dispmap <---> faded to 0.5 at border <---> Torso Dispmap
then i tried
Leg dispmap <---> blended to zbrushed border dispmap <---> Torso Dispmap
the 2nd option was a little better but tbh i still had problems.
Its just simply a lot of effort.
Now its matched for his left leg, but as u can see on his right leg the fading method looks quite noticible. You can see the two matirals tho as the legs do not currently have the same color as the torso.
09-22-2004, 10:37 AM
Kravit; So many problems could be solved by getting a new computer but it’s not always possible. :)
Rebo; Cheers for the info on how you tried the same technique. I can see how texturing up the character is going to be a problem and yes, this is a long-winded way of working. If there is another and better way of working (other than buying a new computer) then please… someone, step forward and let me know. :)
I may have a slightly easier time with joining up the Dmaps on the final mesh as I’ve selected certain parts (collarbone and hips) where I’ve left them mostly untouched.
That said. I’m not sure what you mean by border Dmap.
09-24-2004, 05:19 AM
I have not yet tried this but it should work.
First I would take your base mesh and group all the parts that will be seperated. Take each group, deleting the others and export it as a obj file.
Now go back to your base mesh and start working it as far as you can go say 3 million polies. You should be able to get all the general form and much of the mid range details in.
Generate the displacement map of the full character and save the model as an ztl file.
Select one of your groups, lets say head, and delete the rest continue working on the head to desired detail. Load your previously saved obj head back to level one and generate the displacement map.
Load your full body ztl file back to z select the next group and continue the process.
When you have all the maps go into photoshop and overlay the maps over one another, you may have to do a small amount of editing.
When you have successfully joined all the maps to a single displacement map load it back into z and onto your original base mesh, adjust as necessary, increase res ect. Now you can paint textures.
For fine detail you can also use the bump map viewer and add detail this way then in photoshop again overlay the files into one map for displacement. Just make sure that if your 50% (128,128,128 rgb value) grey on the displacement map is the same as in the bump map.
09-24-2004, 06:12 AM
Dagda, I would not recommend painting displacement maps in photoshop. Displacement maps should really be 16bits per channel, and photoshop can't paint or edit 16bit images, so you will wnd up with artifacts from the lack of colour depth.
09-24-2004, 06:25 AM
Depends on which version of photoshop you have and I should have mentioned this. Photoshop cs does have the ability to edit 16 bit images, not sure about 7.
09-24-2004, 12:51 PM
Dagda, cheers for that.
G3D, Oh! I think I just realised what you’re getting at. The 8 million poly-count was in Zbrush not Maya.
Lastly… If anyone has got any comments on my original post’s WIP image then please feel free to give me some feedback. I’m a bit disturbed to have had none at all. :(
09-29-2004, 02:30 PM
your question is a really tough one - one that i mostly chickened away from and developed workarounds.
Basically i tend to stick to 1 disp map per charackter and seldom go over 2M polys here - it is very much sufficient if the base geometry is planned out well to get detailed wrinkles in skin etc. The 8 Mil mark might enable me to get highly detailed skin pores in the map but thats overkill. Shaders should take care of these things.
If i really get performance issues while working in ZB i make extensive use of the hide feature which helps alot - Just mark the part(s) you are working on and hide the rest.
If however by some design decision i really have to make multiple disp maps for separate parts there is but one thing i can do to get good results: hide the seams. It is almost impossible to get a continous surface with separate disp maps without heavy blending. So try to have a collar, a belt or any kind of geometry overlapping where the separtated parts meet.
If ever find a quick, clever solution i'd love to hear it.
And lastly your model looks really good. Very nice anatomy and a very unusual head design which is a plus in my book :thumbsup:
10-01-2004, 05:26 PM
Cheers for the feedback Mmhnemo.
I’ve been using the hide feature quite a bit as well. Also I’ve found it speeds things up when you’re working on high detailed models if you turn off the X/Y/Z mirror setting (as it slows down a lot) when working on things like arms or legs… and then using the Smart ReSym tool to do the job.
I’ve also come up with an idea to help with merging the different layers (legs/torso/head). OK, it’s a bit convoluted but so is this way of working, so bear with me. :)
Note: this is a long way of working with merging multiple alphas. It maybe wrong so let me know of cock-ups… and I’ll edit the entry or just delete it. :)
This should work if each section of the model overlaps to the next one. The idea is to get the 3 different displacement maps to merge seamlessly with only doing the real work on one of them.
∑ Create a texture in Zbrush2 the same size as the alpha you’ve created.
∑ If the character is the default white, paint the character solid black and save out texture (flip texture to match previously created alpha).
∑ In Photoshop add the alpha file to one layer and the B&W file to the layer above it.
∑ Select (using the Magic Wand Tool (turn off Anti-aliaseing) the unused parts of the B&W image (in this case, white) and delete them so you are left with solid black silhouette of the used parts of the map.
∑ CTRL + Left Click on the layer in the Layers Palette and then Invert the selection and then delete the unused parts of the alpha.
∑ Repeat this for each mid alpha created (i.e. legs/torso/head). Each alpha and B&W layer should connect up with each other.
So with each alpha and Black and White map pasted into one PS file you can select the unused grey parts of the map using the B&W layers instead of MWT in PS. Using the MWT, even when it’s set on Tolerance = 1 and Anti-aliased = OFF it could still chose some of the needed parts of the alpha. This way you can see what you are erasing and if everything matches up. Also the B&W layer is a good way to reproduce what you have just done on the Mid layer with the Neg and Pos.
Erase the overlapping alphas (which you’ve erased using the soft edge brush) so they blend together. If only one alpha layer, for instance, the head, is viewed it should only have the alpha used for the head and nothing else. It will mostly be transparent with faded sections where it merges into the alpha on the layer below. Bring in the Neg/Pos alpha map and CTRL + Left Click on the Mid Alpha layer in the Layers Palette. Invert selection and then delete whatever is selected in the new Neg/Pos layer. This way the Pos/Mid/Neg should all match up to each other and with the Mid alpha.
Flatten the corresponding 3 levels of alpha and do the rest of what’s needed in Maya. Even though the Mid alpha doesn’t really have an effect on rendering Displacement it’s a lot easier to see what you are doing compared with editing the Neg/Pos alphas due to them being very dark.
Hope this idea is of any use. I blame work for not giving me any work today. *ducks football*
01-19-2006, 08:00 AM
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.