displacement errors


#1

I’ve made a displacement map (2K) in Zbrush and aplied it (through the import .obj process) to my mesh. But when I render I get these strange lines in the render, most visible running along the arms.
When I use the exact same map in Lightwave, everything is fine. Anyone know what the problem could be?


#2

Simply looks like insufficient tesselation to me.
Tried using fine mode and using a fragment size of a pixel or less?


#3

Thanks for the reply JacO, setting it to fine does help to some extend.

Though I don’t think the lines along the arms are because of insuficient tesselation. Parametric should give the same subdivision all over the model, regardless of distance, length or angle. And even if I set the step to 24 (max possible) the lines stay the same.
Notice also the lines are only along the lenght, I guess if there was insuficient tesselation, those lines would also be along the width.

Anyhow, setting it to Fine is fine by me, but it still doesn’t resolve all the problems.
See the strange displacement where the right arm meets the chest. This error is the same with Parametric and Fine. In Lightwave this renders allright, and both use the exact same map and mesh.

If I connect my displacement map, I have to scale down the values conciderably to have a resonable result. I thought it could have something to do with color stepping because of the extreme scaled values. But when I hooked up a 32 bit displacement map, the lines and armpit-error were still there.

I read the manual on displacement maps but couldn’t find it, but does XSI accept maps with possitive and negative displacement or just positive?


#4

This may or may not help, but try taking the displacement map into Photoshop and giving it a small ammount of gaussian blur. Some of those artifacts you see could be in the map itself, with Mental Ray simply doing a better job of displaying the actual map and not biasing them out as too small of a detail. If your UV’s are laid out in an organized fashion you would be able to tell just by looking at the map. If you have one of those automatic UV maps that ZBrush makes, you won’t be able to tell easily just by looking and blurring it won’t help.


#5

Don’t know if xsi can use negative displacement directly from the image. Better be safe and use a normalized image and convert the range back. the interpolate node from your screenshot takes care of converting the positive range from the image into the negative-positive range used for displacement.

Maybe there’s something wrong with the values in that node.

Usually a value of 0.5 in the image converts to 0 displacement. but that’s not always the case. afaik, zbush outputs the actually used 0-value it used after calculating the map.

You have to take care that this value converts to 0 displacement. You can do so by tweaking the values in that node. for example for an input range of 0 to 1 and a 0-value (i don’t remember how that thing is actually called) of 0.2, use values such as -0.2 and 0.8 (or any multplies of those) for the output range.

wrong settings could produce such artefacts (pinching effect)


#6

@ Jettatore. Thanks for the help man. I tried your trick but sadly it didn’t produce better results.

@ oddforce. I understand your story about the 0 value, but I think my settings were ok for this map.

I finaly found out what these strange lines along the arms are. They are the subdivided cage of the underlying mesh, onto which the displacement is subdivided. If I subdivide the base mesh one more time for instance, I’ll get the double amount of lines (and less distortion).
So parametric does proper displacement subdivision but doesn’t work properly with curved surfaces. The manual already said that this methode was best for working with flat surfaces (not explaining why btw.), so know we know why that is.

Thanks for all your help everyone! :beer:


#7

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.