Home Technical Talk

Displacement map seams- Final solution...

Jonathan85
polycounter lvl 9
Offline / Send Message
Jonathan85 polycounter lvl 9
Hello im playing around with scan data, doing retopology in zbrush (to get a low poly version) and then extracting displacement maps (in 32 bit exr format) to get the original hi poly detail to the low poly mesh. Im using mainly 4096px and 8192 px maps (also 2048px sometimes, lower not).
The problem is that there are sometimes (a lot of the times) visible seams due to the diplacement map in the render (3ds max, vray 2, displacement via vray displacement map modifier).
I have tried my best, but im not able to get completely rid of them, i have read a lot online etc., but almost every solution i tried failed.

The only one that looks ok seems to be to make additional special uwv layout for displacement map (via channel 2). The channel 1 uwv layout is done normally to eliminate stretching of diffuse texture, cover the most space, not many seams etc.
The uvw space layour for displacement map is special, i have thought to use 2 solutions that might work (and worked for me):
1) Make REALLY as few seams as possible, for example via the default zbrush uvw master unwrapper (one big island). That will introduce quite a lot of stretching, but this is not so important or visible for displacement map use (imho) and only 1 seam means less visible gaps.
2) The second solution would be this one:
http://polygonspixelsandpaint.tumblr.com/post/19733351349
http://www.can-con.ca/tumblrpics/squareuvs.png


Question:
Is this the right way to deal with displacement map seams? What might be the downsizes of having 2 separate uwv layouts for 1 object (that means 2 unwrap modifiers in 3ds max)? Ill be using these in wide variety of works- games, architecture, render videos etc.

What do you think, is this a viable option? Does anybody use already this workflow?

Replies

  • .Wiki
    Options
    Offline / Send Message
    .Wiki polycounter lvl 8
    I´m currently working on a lot of 3d scans too.

    I did some quick geometry changes in zBrush and then exported the highres and lowres mesh as OBJ files. I did my uvs with uv layout and have a lot of islands. Normaly it shouldn´t matter how many islands you got.

    I´m baking my displacement and cavitymaps with xNormal.

    For the bake i exported the Lowres mesh with a subdivision level of 2 out of softimage. I´m doing this because the mesh will get subdivided on rendertime later too so the map is baked on that subdivided mesh.
    If you bake in xNormal as 32bit floatingpoint EXR you have to take care of your displacement midpoint. By default its at 0 and you have negative color values in your displacementmaps. If you want to adjust these maps you would need to rescale your midpoint. I´ve done this with fusion by simply adding a constant of 0.5 to the rgb channels.

    Everything looks fine in my arnold renderings.
  • Jonathan85
    Options
    Offline / Send Message
    Jonathan85 polycounter lvl 9
    Interesting... btw why bake in xnormal instead of zbrush, in zbrush its quicker, faster more comfortable... are you aiming for maximum compatability with game engines?
  • .Wiki
    Options
    Offline / Send Message
    .Wiki polycounter lvl 8
    Jonathan85 wrote: »
    Interesting... btw why bake in xnormal instead of zbrush, in zbrush its quicker, faster more comfortable... are you aiming for maximum compatability with game engines?
    I´m doing this for offline rendering. I´m using xNormal because i can export as raw floating point data and i have to bake a huge amount of meshes. With the xNormal batching function this can be automated.

    I would say your seems would disappear when you bake your displacmenent to the same subdivision level that is used for rendering.
  • Jonathan85
    Options
    Offline / Send Message
    Jonathan85 polycounter lvl 9
    I would say your seems would disappear when you bake your displacmenent to the same subdivision level that is used for rendering.

    thats is an interesting tip i didnt heart before, ill try it.

    but i think i have tried before rendering the base mesh (without subdivide) and it didnt help....

    but i will try... does anybody else has some tip/trick?
  • .Wiki
    Options
    Offline / Send Message
    .Wiki polycounter lvl 8
    Also make sure that you import your displacemnt maps in linear colorspace.
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
  • JFinn_UK
    Options
    Offline / Send Message
    JFinn_UK polycounter lvl 7
    .Wiki said:
    For the bake i exported the Lowres mesh with a subdivision level of 2 out of softimage

    I am such a goof, I never considered this!.... Thankyou. Now to cry at my wasted bakes XD
Sign In or Register to comment.