Displacement map includes mesh lines
Hi,
I am making a skinny ribs morph for a g3f based character. I have made the morph in Zbrush and exported it to DS via GoZ. As expected, pretty much all the fine detail is lost back in DS because non-PA users don't have access to the HD technology that enables fine detail to be included in the mesh morphs.
Apparently the way to deal with this is to make a displacement map of the morph in Zbrush and then apply that map (as well as the mesh morph) in DS. Unfortunately Zbrush appears to be adding the polygon mesh lines to the displacement map as well as the fine details of the morph (the ribs). Is this something to do with GoZ? Is there a way to prevent this?
The result is that the fine details of the morph (the ribs) are included in DS, but superimposed on top are some of the polygon mesh lines.
The displacement map and end result look as shown in the attached images: I have removed the diffuse textures for the sake of those who don't like to see skin-like textures. I have ramped the torso Displacement Strength up from 1.0 to 2.0 to emphasise the effect, however it can be clearly seen at the normal value of 1.0.
Note that the hand, which was not morphed at all, does not show the mesh lines, neither does the abdomen which was morphed but was also smoothed in Zbrush before GoZ back to DS.
Note, the morph was made in Zbrush with Geometry setting "smt" set to off and the subdiv set to 3. The subdiv was set back to 1 before sending the morph back to DS via GoZ.
Any suggestions about how to solve this issue would be welcome.
Comments
Yes, it's a settings thing...and has to do with the bake settings...but since I don't use Zbrush I'm not sure what settings need to be changed when baking. I can barely remember them for Blender, when it does that (yeah, it will do it too...).
This has a turtorial for Blender for normal maps...and I think later in the thread SY talks about the mesh lines being baked in and what to do...what needs to be changed would be similar, if not the same for Zbrush...I think.
http://www.daz3d.com/forums/discussion/25486/normal-maps/p1
Did you have SMT off when you divided your mesh in ZBrush?
SMT is set to off and then the mesh is subdivided twice (so ends up at value 3). Then the figure is morphed. Then the morph is sent back to DS via GoZ. Then sdiv is set back to value 1, then the displacement map is made.
I've never successfully gotten a seamless displacement map out of Zbrush (as opposed to seamless normal maps and diffuse, which it does fine). I've heard people claim it's possible, but they've also never been willing to share their settings (a curious reluctance reflected in all my google searches on the subject as well). My solutions for it have been:
1. Export a normal map as well. Decompose the normal map. Composite the layers into a grayscale "fake" displacement. Composite that in my 2D editor to cover just those non-seamless edge areas. This does not work well on really strong displacements or really strongly seam-crossing ones like veins because, while it is now seamless, it's also oddly flatter in those seam areas.
2. Just use normal maps for detail instead. Not bumpy enough for some things, but fine for skin and veins. This is what many people are doing for Iray right now. Displacement also requires higher SubD in the material settings, so it renders a LOT slower than normal maps.
3. Export low-rez mesh from Daz Studio (which in this case means about SubD 2) and hi-rez mesh from Zbrush (at your max sculpt resolution). Import them to Xnormal and generate a height map from there instead. This is reliably seamless but settings are finicky (google actually does help with this one, and Xnormal is reliable, well-known and free). From my research this is actually in a lot of people's professional workflows for game engines and other render engines.
4. Manually touch-up the seams in another program like 3d Coat. I hate doing this and avoid it whenever possible.
I've been examining this question at length recently because I had Daz turn down a huge project that was heavily dependent on HD morphs, and now I'm trying to find a way to convert everything to displacement so I can sell elsewhere (in other threads I'm also trying to find a way to combine multiple displacements in the shader, same reason, but I'd also like to release that free for cases such as yours).
With SMT off the existing polygons are not smoothed, they are just divided in place - that's why you see the facets in the duisplacement map. On the other hand, with SMT on even the base resolution mesh can be modified (the teeth and fingers of older versions of Genesis could be very badly affected - I'm not sure if that's true for Genesis 3 figures): there was a fix for that, send the base figure across, divide it with SMT on, reset divisions and send back to DS as a morph, then set it after sending your mesh to ZBrush for real but before sending the morph back and use Reverse Defomrations to subtract the unwanted distortions from your morph.
Hmmm, that seems not to be the case. Notice that the polygons of the abdomen do not show the same effect as the polygons of the lower chest area. The abdomen was smoothed, the chest was not.
...actually, now I come to think of it even the protruding ribs were smoothed a bit, but there is clearly a difference between the chest and the abdomen.