ZBrushCentral

Questions and Troubleshooting for Displacement Exporter

man Im glad you got that working. I am sorry if I misled you on the AG value.
I checked further and the MultiDisplace2 is supposed to work the way I described but its being really really strange.
I did the same test run with some spheres, just one map on the geometry and got this: The sphere on the left is the ZBrush original.

noScaleOriginalSphere.jpg

Across the board in the testing the spheres I seem to need to set the AG to about 2 as opposed to 1.
anyway thought I would throw this up here.

S

Attachments

TricHeaadGoodRender copy.JPG

ScaleOriginalSphere.jpg

cool looking triceratops !! do you have the whole thing done, Id like to see it, im currently working on a Dino as well as you can probobly tell from the thread, why are they so addictive?

thats interesting, I thought an alpha gain of 2 was just what worked on my test, and that next time for something else it would be a totally different number, but it seems consistent between our 2 tests so there must be something wierd going on,

Speaking of wierd, I have noticed something REALLY STRANGE lately and that is if I hide parts of my tool and then save it, I can open up my tool and those hidden parts are still there if I unhide them, NOW IM PRETTY SURE THAT IM NOT CRAZY and that before if you hid stuff and saved the .ZTL file, that stuff that was hidden was not saved with the tool, im still scratching my head over this one.

Its funny cause when stuff like that happens to me in Zbrush I usually say to myself, hmmm thats odd, and then go on about whatever Im doing, its like in a horror movie when someone walks into the bathroom and the tub is full of blood and then they look back and its not, they seem to say the same thing to themselves, meanwhile everyone in the audiece is goin DUDE WHY ARNT YOU SAYING ANYTHING ABOUT THIS OR FREAKING OUT OR SOMEHTING-

Aminuts, yeah no kidding I totally forgot about that thread!!

In my experience saving your ZTL with parts hidden is fine, they come back when you re-open the file and unhide. BUT, I generally avoid doing this and would recommmend anyone do the same. Even if im working exclusively for hours on one polygroup, I will unhide and scale my model to fit completely inside the canvas when saving.

I’ve been warned by a person whos used Zbrush multiple years longer than me to avoid saving with things hidden.

PS. Ktaylor : agreed dino’s are great things to model and sculpt. I sculpted a triceratops about a year ago and was just looking at doing another dino a few days ago, gathering reference etc. Their great subject matter for zbrush. -Ken

Hey Ktaylor / spaz8,

Thanks! The whole tric is visible in this thread. They are addicitve, its Harryhausenitis.

Well whats weird isnt
the fact the 2 is consistent. Thats awesome and exactly what I hoped…(almost)
The idea with realworld scale being baked into the float 32bit file is that once you know your alphaGain is stays the same for all models/tools. This will allow us to do things like cutting apart the tools or blending between displacements for animaion etc in Maya (easier than before at least)
I aam trying this with some other ztools now to see if 2 works across the board or if I am still scaling by a different value.
EDIT UPDATE
new tool and 2 works its magic here too…
with the same quickcode but using 1 and -.5
noscale.jpg

The naked dude tells no lies…

The reason we kept having to scale arbitrarily before is that ZBrush had to output a 16bit map whth far fewer levels than 32bit floating point. In 32bit float there are millions of levels so the actual scale of the displacement is accurately reperesented in the displacement map as read from the scale of the object in ZBrush.
“this bump is say this big compared tot he size of the sphere” for example.

The hidden mesh is new to me. I have tools I know I saved partially hidden and it came back fine… Hilarious analogy about the horror movie btw : D I feel like that when I wait for Mental Ray to test render.

Spaz8: Man, I still love your Tric! Did you ever finsh your human that you posted a while back? The gold one. It was awesome… Gotta go watch The Lost World now… ahem, the original ; )

Scott

Attachments

scaled.jpg

full.jpg

full.jpg

Heya guys, sorry to pop in this very interesting thread but how do you guys gather different displacement maps on one model in maya, I’ve been doing fine with one map and a slightly different shading network than Scott, but haven’t tried the the displacement exporter yet.

Is there a thread somewhere explaining or to assemble the disp maps on one model in maya (6.5 for me) ??
THX a lot, and very cool info there.

Ok so this is where all the action is, I`ve been missing out!
Hands up anyone who read my post on Scotts ZBrush in production piplines?

[http://www.highend3d.com/boards/index.php?showtopic=213894&view=findpost&p=216824](http://www.highend3d.com/boards/index.php?showtopic=213894&view=findpost&p=216824) I said alpha gain 2 not 1 Scott so there! ;) and if I am not mistaken Ktaylor, did you get some of your working out from there? If you did I`m realy pleased that you got some use from it and if not well I can only say that great minds think alike:) I do however have a some questions:- I understand about splitting up the mesh to facilitate super detailing but how do you manage the UV mapping ect in Maya?

The other thing is that I have a gig of ram and using parametric approx (mental ray subdivision approx) setting at 5 my machine is just able to cope. This is with one displacement map at 2K. Now Im all for super detail but how on earth do you render more detail with more maps? I know there is an obvious answerBuy more ram!` I hear you say but think of it this way, 1 machine 1 gig ram = about 2 million polys in ZB and a render in maya MR that eats all the ram. Ok for animations I use a Muster and free up as much ram as possible ect, but what I am tring to say is that rendering the displacements is much more memory expensive than creating them in ZB!!

Help me out guys am I missing something realy simple?

Great thread by the way :) Thanks guys. P.S. is there a way to find out the poly count at rendertime for MR? Cheers. Shadowfiend.

Hey Scott, thanks for the plug. No the gold guy just got thrown in a pile. I’m currently working on a new reel. I think ive improved a lot, and know a lot more than i did when I was teaching myself ZB with things like the triceratops and human studies.

Shadowfiend: the problem may just be MR, im personally not a big fan. Perhaps I still remember how it was way more flaky and unstable a few maya’s ago. Something Like PRman or Turtle are great for displacements with Maya. Im not sure if both Ktaylor and Scott are using MR.

You may also may wanna adopt the .map file format in your use of MR. -Ken

Shadowfiend: crap, you found us!
just kidding : D
The UV mapping is accomplished by laying out the UVs in regions outside 0 to 1. I will let Ktaylor describe his process though…

try using Spatial instead of parametric (you have more control since there is more than just one slider) With 32bit maps you dont seem to need nearly as much tesselation to get back to your ZBrush forms, not sure why but it makes me happy.

Also, Like spaz8 said use .map files, it helps a lot! A LOT! : )

To get rendertime tesselation go to the Render Globals and under the mental ray tab you will find Translation, set this to Progress messages. The output window will now report tris after retesselation. Divide this by 2 for your face count. : )

S

Hey shadowfiend, here is a thread just started about some of the issues you are asking about, it should clear some of the UV layout questions you are having, if not let me know, I guess I should post my current work flow for using multiple Ztools and re-assembling it all in Maya and rendering with Mental ray, its a prettty straight forward approach, I have been using this method for about a year now, I had a tut up here before on how to make all your disMaps line up with the old .tiff 16 bit texture method, but that is thankfully obsolete now thanks to this new Displacment exporter, here is the link to the UV thread, it was more about texture management but it shows the uv layout for multiple uv regions that we are talking about http://www.zbrushcentral.com/zbc/showthread.php?t=29926

post edit,

Shadowfiend: I didnt know what you meant about our similar workflows but now after re-reading that thread I know I think, are you talking about saving out your Z brush tool at a high res and rendering it software and then render your displaced mesh and comparing the 2??

Yeah thats funny I bet we actually did that at the exact same moment in time, and both thought wow that is a sweet way to nail it down!! using that apporach I also found it important to smooth all the normals on your high res mesh when you render it, I kept looking at and going man the Z brush one just looks crisper, then when I smoothed all the faces they looked totally the same, I guess all those hard edges where catching the light sharper and making the detail look sharper,

on that note is there a way to have smooth normals in ZX brush, Ive seen info on how to do it but it doesnt seem like it really works, still seems like it just adds more polys to make it look smooth-

Ktaylor could you please hook up a tiny walkthough of you workflow,looks like you cracked the case on getting multiple tools back into maya and assembled without seams. I’ve been sqeezing all the knowledge i can out of this thread but i just don’t have the whole picture yet. I’m lost on how your reassembling it all in Zbrush and in Maya. Also the way you had you uv’s laid out in this thread http://www.zbrushcentral.com/zbc/showthread.php?t=29926
had me confused on the way your image range was set and the importance on doing it that way.

anyhow any help would be greatly appreciated and thanks to you and scott spencer for contributing to this thread and helping a newb like myself out by figuring this one out for the rest of us.

Heya guys I saw the uv trick on sean mills alien dvd, but didn’t understand it quite well, so you mean you just need to split your model in different parts and usethe perfect square outside 0 and 1 and that’s it ?
Cool then, I’ll try that.

Sleepwalker,
Yeah all that it is laying out your Uvs in differnt regions so the head is 0-1 and the neck is in 0-2 body in 0-3 and so on, so now when you bring your mesh into Z brush you can do 2 things with this set up,

  1. you can create auto UV groups and now manage your mesh’s visibility based on each UV group
  2. you can use the Multidisplacement plugin to generate a high res displacement map for EACH UV GROUP, which is really the key thing that is important here.

Jerfoo,
I am working on putting together a comprehensive tutorial for this entire process, but I can outline it for you real quick, if you are still unclear on anything then hopefully I have the fully explained process up sometime this week.

  1. bring your mesh into Zbrush with uv’s laid out into different UV zones based on how many 2k,4k,or even 8K maps you think you will need, so if you want a 2k map for the head then put the head UV’s in 0-1, and another 2k map for the body then put the body uv’s in 0-2 uv range and so on, now when you use the multidisplace exporter you will get a map for each UV region.

  2. sculpt your entire character to the max limit Z brush will allow(save a master file of your character at this point) now based on your different UV groups save off a tool for each part of the body based on the uv’s ( if you have all the head uv’s in a uv group then this will be easy just hide everything but the head and mask all then delete hidden ( very important to keep some polys from the next UV space so they dont pull apart at this point, you can refer back earlier in this thread for mor details on that) also- when you mask all that you want to keep and delete hidden I have found that if you go all the way up to your highest division level and mask that then go back down to your lowest and delete hidden you wont loose any detail, I havnt tried it by masking at Lvl 1 and deleting for a while but I think you loose some of the higher lvl detail if you do that, but maybe not-

  3. now you can load up each tool and further subDivide it and get all the detial you need, you will still need to you use the multiDisplace exporter with the maya keycode that Scott provided earlier for all of this, so now you will get a map for lets say your head and the another map for like the first couple rows of polys on your neck ( cuase you included those polys into the new tool right!) this is good for 2 reasons, first, it keeps you from getting a seam between the 2 uv areas, and second if you want to paint detail across that seam onto the next map then you can, once you create those maps you’ll get a partial map of you detial for the neck where you crossed the uv line, so now when you load up your neck tool to keep working on you will be able to load that map up into Zbrush as a displacement map and apply it to that tool and see your detail so you can countinue without any seams or detail discontinuity, this is kind of a tricky step but I believe it can be done, so Ill put more detail on that later.

  4. so now you have all your tools all sculpted out and you are ready to put all these awesome displacement maps on your model in Maya, so you do 2 things-

A. get all your displacement maps that you have created with the multidisplacement pluging and convert them to .Map files like Scott was saying with the command line imf_copy oldtifffilename.tiff newcoolMapfilename.map so now you have awesome 32 bit .map files which mental ray for maya likes and renders faster!! SO now that you have all these maps you just apply them to all the different coresponding shader in Maya, so for your Head Dismap, put it on a shader called head and assign it to the polys that are the head, and so on-

B. The other thing I do which should have actually been step one, is I export all the final tools at lvl 2 as a .obj file and then I load all those up into maya and reassemble them by combining all of them and welding all the verts at the seams together. the reason is becuase once you have sculpted your original mesh that you had in brought in from maya, the goemetry has moved around alot based on what you sculpted and I have found I get the best results when I used the new updated state of the mesh to generate my displacement maps ( alot of people say to save a morph target but that never gets me as close to the final product I want, the goal is to reproduce your final sculpt right?) and the reason for exporting the lvl2 geometry instead of lvl one is that lvl 2 is more shaped like your final sculpt and will render JUST LIKE YOUR high res sculpt, I have tried LVL 1 and it never is as close,

now there are some things you have to know about exporting LVL 2, its based on some things,

  1. your lvl one mesh is pretty low poly, like say 1000-5000 polys, cuase when you export lvl 2 back into Maya you could be looking at upwards of a 20,000 poly mesh which is still workable with an animation rig and stuff, acutally some things like muscle simulation its better to have more polys cuase you get better control, but thats a different topic all together,
  2. be sure and create all your displacement maps from LVL 2 instead of LVL 1 for obviouse reasons, now apply the mental ray SubD approximation node to your mesh and render away.

also another good reason for using lvl2 is that if for some reason you wanted to include a couple triangles in your original mesh they will all be quads now:) and mental rays subDapprox node like that a lot, you can do it with triangles but I dont reccomend it.

I know this is a lot of info and reallly should be documented more clearly but this is a walk through of my current workflow on the matter, I will publish a more thorough document as I come closer to completeing my current project and clearly outline the entire process so that there is no confusion.

later hope this helps Jerfoo-

P.S. I didnt proof read this so there could be mad type o’s and stuff :slight_smile:

Awesome, Kris thanks for all this. Cant wait for the comprehensive version - Ken

Do you ever find that even when you dismantle the tool some parts will not further subdivide because of RAM limits? How much RAM do you have in your system?

Scott

Ktaylor, thanks a ton for the the walkthrough man this looks like exactly what I need to get me rolling with a little direction. I think this should definatly be detailed enough of an explanation to apply the whole process. I will let you know how it works out. Thanks again for taking the time to do this.:+1:

Jeff

[QUOTE=Scott Spencer]Do you ever find that even when you dismantle the tool some parts will not further subdivide because of RAM limits? How much RAM do you have in your system?

No, unless the piece is some wierd amount of polys that when further divided it still breaches the Zbrush limit, and that was becuase I had too many polys in that area of the mesh to begin with, the more uniform the mesh density the better obviously,

Im working on a
Dual Xeon 3.2 procs
4 gigs of ram
Nvidia 1400FX card (I think its256) im on my home computer right now so I cant check.

and that usually lets me do what I need, I have gotten a tool al the way to 8+ million polys before you have to make sure your initial low res mesh is the right amount of polys that when smoothed it will still work in Z brush, so take a 1000 poly tool and in a calculator just multiply x4 then that number and multiply that times 4 and so on and you can see what your tool will be at each level, I think for an 8 million poly tool the magic number to start with was 750 something, somewhere around that, or that times 4 or whatever,

on a side note my home computer is a

single processor 2.8
3.5 gigs of ram
9800 pro

and I cant get as many subdivisions on it as I can my work machine so there is a significant gain with the extra ram- I know there is a lot of debate on all that like (32 bit systems only allocate 2 gigs per app and so on) but im here to tell you I have personally expierienced a difference between 3.5 and 4 gigs of ram on the same .ztl file-

Ahhh yes

I am working with merely 2 gig myself. 3 gig at work and yes the difference is phenominal.

I found with just 2 gig the returns diminish since I usually overrun rm even with a dismantled tool.

I need to grab another gig : )

S

Yeah our work boxes have all the 64 bit hardware on them too, so soon as the 64 bit compliant software comes out for everything we should be working with totally new EASIER work flows, I cant wait!! im gonna put 16 gigs of ram in my machine and subdivide my mesh to lvl 20!! hahaha that would rule!!

Right, plan to have a target poly count and work backwards. For me I only have 2 GB of ram. ( I want 4+ in my next system) SO my system compacts MEM :confused: (after 4 million polys so the magic number i use is about 3900 polys in the cage. I’ve worked with models up to 7.5 million or so but it was horribly slow and felt like i was walking on egg shells with every move.

Since you’ll get the most out of Zbrush pushing your system to its limit I always have polycount in mind when im building the base cage.

*BTW 3900 or slightly less is also a good number for normal maps cuz you hit key polycounts of 250K, 1000K, 4000K which correspond to the amount of pixels in a 512, 1k, and 2k normal map if you were so inclined. This also assumes your using a very high percentage of your UV space. -Ken

I put in a request to have 3, or 4 gigs at work on friday :slight_smile:

Does that really have any correlation about the amount of pixels in a normal map vs the amount of polys in your mesh, seems like the more polys the better aliasing youll get in a normal map, so I dont really know if I understand what you mean by that, im interested to know though, alot of my work is in getting good normal maps from high res Z sculpts, I currently use Kaldera for Max 7.5 it seems to do the best job for this, I personally think Zbrush’s normal map comparison comes out really wacked out and not correct.