Displacement Map Woes
This appears to be a problem with Zbrush rather than DS. When I make a morph on G3f in Zbrush and then export the Displacement Maps from Zbrush for use in DS I find strange ridges at the map edges. As can be seen from the attached images.
Hopefully someone has come across this problem whilst using Zbrush with DS and can give advice on how to solve the problem.
The work flow is:-
1) Load G3f into DS 4.9
2) Send to Zbrush using GoZ.
In Zbrush:
3) Place figure on screen as usual
4) Select edit
5) Enable Symmetry (for symetrical brush application)
6) Select Frame
7) In Geometry menu: leave "smt" selected (orange), click Divide twice to get to SDiv 3.
8) Make morph using brushes.
9) In Geometry menu: Return SDiv to level 1
10) Select GoZ to send morph back to DS. Apply morph to 100% in DS.
11) In Polygroups menu: select "Auto Groups with UV"
12) In Polypaint menu: with Colorize and Grd selected (orange), select "Polypaint from Polygroups"
13) Select figure torso by Shift+Cntrl Left click on figure torso. All but torso is hidden.
14) In Displacement Map menu: Select Adaptive for higher quality map. All other options are not selected (not orange). Select "Create and Export Map" Save map with appropriate name.
15) Shift+Cntrl Left click outside figure to unhide figure.
16) Drag select arms then Shift+Cntrl Left Click on remaining torso to hide it. Only arms are left showing, the rest is hidden.
17) In Displacement Map menu: Select Adaptive for higher quality map. All other options are not selected (not orange). Select "Create and Export Map" Save map with appropriate name.
18) Drag select legs then Shift+Cntrl Left Click on remaining torso to hide it. Only legs are left showing, the rest is hidden.
19) In Displacement Map menu: Select Adaptive for higher quality map. All other options are not selected (not orange). Select "Create and Export Map" Save map with appropriate name.
20) Select figure face by Shift+Cntrl Left click on figure face. All but face is hidden.
21) In Displacement Map menu: Select Adaptive for higher quality map. All other options are not selected (not orange). Select "Create and Export Map" Save map with appropriate name.
In DS4.9:
22) Apply displacement maps to G3f figure surfaces. Displacement strength is 100%. Maximum displacement is set to 0.3, Minimum displacement is set to -0.3. The variable values are the same for Face, Torso, Arms and Legs surfaces. (see example image).
23) Render image.
As you can see in the attached images (look for the little arrows) there is a ridge at all UV junctions where the corresponding surface has the displacement maps applied. The effect is strongest at the shoulders but can be seen at all UV junctions.
Since the other surface parameters remain the same for each surface, the fault must be in the displacement maps created by Zbrush. It is not matching up the edges of the UVs correctly.
Does anyone know how to solve this?
Comments
Are using base mesh resolution?
No idea if that would be a factore, but worth checking.
When you export from ZBrush, is there an option to create padding around the edges of the UV borders, and is it set to a number and not zero? The texture should look like it's been stretched at the UV border edges by an amount of pixels, which creates a sort of overlap in the displacement and makes sure anitaliasing doesn't "suck" the empty space surrounding the UV borders inside the displacement texture, which typically manifests itself as what's happening to your displacement.
For Blender 6 seems to be the magic number...I'd try the same for zbrush.
I usually have it at 20 or so. Safer for the odd occasion when you want to blur a texture.
6 is the minimum...anything less than 6, I've tried, doesn't seem to show/be enough.
Hi all. Thanks for your responses.
Nicstt, GoZ exports the G3f figure in Base Resolution unless you explicitly tell it to do otherwise. If the figure is not sent to Zbrush in Base Resolution then any morph you make cannot be applied back on to G3f. So export resolution from DS is not the issue, I always accept the default which is Base.
Jimbow and mjc1016, I don't recognise any option to create padding in the Displacement Map export options. I have attached an image of the Displacement Map menu. Am I missing something?
I don't have Zbrush...but a quick Google search seems to indicate the item you want to adjust is under the UV map section...UV Map Border or something like that.
It looks like it maxes out at 16...try that and work down to find the minimum that works and go with something in between.
I've never gotten that to go away even with changing the UV map border, so let me know if that works for you? I'd sure love to not have to do manual touchups or Xnormal bakes to fix Zbrush's displacement seams any more.
mjc1016, I will try that (thanks for doing my homework for me ;) )
SickleYield, Well, if you of all people have not found a fix for the problem then I'm pretty sure it must be something wrong with Zbrush (shame on Pixologic! ;) )
I'll report back.
If you've got Substance Painter you might be able to bake out from hirez obj to maps there, too. I'm trying to thrash out a workflow on this today.
Alas no. I ramped up the UV Map Border to 16 before exporting the Displacement maps (actually before doing a simple test morph following the previous procedure). However when I render the image in DS with the Displacement Maps applied, the ridges at the UV edges are still there.
It's strange that something as simple as exporting Dispacement maps should be so difficult.
It also makes me wonder if the fix for this is part of the secret HD technology that DAZ3d won't share with anyone except PA's who sign a non-disclosure agreement. (I wish they would sell a Licence for non-commercial use.... perhaps via a plugin).
Blacksmith3d Pro 6 can export Displacement maps, does anyone know if the same problem exists when its Displacement maps are applied to G3f in DS?
Btw, SickleYield, what is an Xnormal bake?
Since the HD import is on the DS side there's nothing Daz could do to break the expor of displacement from ZBrush.
I would think an extreme seam value might be an issue in itself, if it ended up encroaching on the other side of a dart in the UV island or on another island.
Just remembered something. Do you get a number for the depth values when exporting the displacement maps? I use 3DCoat, not ZBrush, but when exporting textures individually I'm given a value for the depth for each texture. If I don't use those values in DS I can get these seam problems.
That's a good though Jumbow..
It's not a DS issue, IsaacNewton, if you google "displacement seams from Zbrush" you will find it happens with every program.
An Xnormal bake is a map baked out of Xnormal.
http://www.xnormal.net/
It's a free program. Getting it to work on G3 is a lot of workup (because you have to separate every UV map island into a different mesh). My finding today is that it's not worth it anyway because the SubD in the materials has to be so high to prevent seams appearing in Daz Studio that it's prohibitive for render speed. :( I'm using a combination of base-rez morphs and normal maps instead.
>>Jimbow
please teach me more detail,, becaues I often see the seam after inport textures of genesis3 figures to the 3d coat.
I usually do not try to import displacement, just normal map. as non-subD. then try to add detail as normal map only.
how I set mergin etc,, I still see tiny seam in 3d coat, and after re-export textures I modified, in daz studio too.
I feel if I need to change UVset which I export with genesis3 from 3d coat,,
I have thought it depend on improt setting,, but Is there way to avoid this problem with 3d coat?
I usually paint those seams in 3d coat,,,then export textures again. but it break origianl texture,, (which need not modify)
@kitakoredaz: The only times I've had a problem with 3DC exports is when I've forgotten to increase the texture padding (the same with other 3D software when I bake a texture). With displacement, I always note down the values given during the exporting process, but the only time I see those numbers pop up is when I use the Texture>Export menu rather than the File>Export menu. I set my Daz surface displacement values to the 3DC values and use the Displacement Strength slider to modify the overall level of displacement to account for any unit scale differences or to taste.
Another habit I have is to paint in 3DC on a G3 mesh that's been ouptut using the 'collapse tiles' option in the export dialogue. That collapses the UDIM mapping to traditional mapping in case I want to despoil my model in another app that doesn't like UDIM.
Thanks Jimbow to teach me those detail,, I saw this problem before,, when I import gen3mesh,, and import each texture,, to modify some maps which had no seam in daz studio. but I can not clear detect when it happen or not ^^; today i try again with gen3f default mesh, then import each maps,,, now I can not find seams,, maybe current padding setting remove problem as you mentioned.
.And, I usually change texture resolution ,after I imported obj, ,, but today I set texture resolution, when I import per-pixel painting obj,,,,it seems remove the my seam problem,,
I have some more detail question, about workflow,, (daz studio and 3d coat ) ,to modfy or make gen3 maps in paint room, or sculpt and add detail in voxel room then bake it,, maybe ask these in daz stuido forum.
unfortunately,, there seems not many wrokflow tutoriall ( many setting option,,) about daz genesis and 3d coat ,, hope to find place where 3d coat user, who often modify genesis textures for ds iray and mainly daz uber shader, can offer tips eachother,,, and sorry to ask here intterupt OP question about 3d coat,,
Makes a change. And it's Jimbow. But you knew that anyway ;)
It seems strange to me that there is not an industry standard protocol for making and applying Displacement Maps.
This begs the question, is there a 3d modelling program that produces Displacement maps that DS can read and apply such that there are no unwanted seams? In otherwords a modelling program using the same protocol as DS.
Anyone any experience with Blacksmith3d Pro6? I imagine that it does work well with Poser, but has anyone got experience of it with DS?
I'm beginning to think my keyboard hates me...
Thought you were just getting revenge ;) I would.