Home Technical Talk

Zbrush: Displacement artifacts on seams

I have an artifacts like this after baking displacement in zbrush. There is no difference in the settings I use or 16bit/32bit or format or resolution. When I use SubDiv 5+ on objects with displacement I see this weird stuff on seams, Blender or Maya, doesn't matter.

It's NOT like in that video: https://www.youtube.com/watch?v=-_LEhQtA4pA

I saw a couple of posts with exactly the same problem, but there was no solution there:
https://www.reddit.com/r/ZBrush/comments/kebbv3/noticeable_seams_on_exported_displacement_maps/
(more details about the problem here)

I think here also the same problem: https://polycount.com/discussion/146491/displacement-map-seams-zbrush-scan , but what the guy wrote at the very end is very encouraging.

Maybe I did something wrong (some not very common mistake), but I just don't understand how there can be such significant artifacts on the seams of the model (including when I use AutoBump in Maya Arnold) while there is lots of super detailed renders.

I want to know why it's happening in zbrush with displacement maps (normal maps is ok)

Replies

  • Eric Chadwick
    Options
    Offline / Send Message
    It's likely that your padding amount is too low. 8k will need 64 pixels of padding outside each UV shell, so you need 128 pixels in the gutters between the shells.

    I would suggest adding more padding, just completely fill the empty gutters with padding. Photopea has a fast padding filter, and you may need to run it a couple times to completely fill your gutters.  

    It may also be a limitation of your renderer. Which renderer are you using in Maya? V-Ray in 3ds Max for example can reduce or eliminate displacement seams, but the asset has to use a specific technique. https://docs.chaos.com/display/VMAX/Rendering+ZBrush+Displacement
  • SPQMan
    Options
    Offline / Send Message
    I am using Maya Arnold, but I think it's not a "limitation of renderer" because in Blender the model with displacement has the same artifacts in viewport. In Maya there is a setting "Bounds Padding", but it does noting to render.

    By the way, thanks for the answer. I did a few more "tests". And I noticed that padding lines are different for Zbrush and Substance Painter. Is it important?

    It's Albedo (Substance Painter) and 16bit Displacement (Zbrush) of one UDIM. Lines are not parallel

    So, if a 2K texture needs 16px padding then it would be without artifact seams, but it's not.
    Map border (Zbrush) = padding, or are these different things? 

    You said that Photopea has a fast padding filter, but I couldn't find anything about it, I mean, I found a padding technique with xNormal in Photoshop (https://www.youtube.com/watch?v=fa9ki3MBzsY), but it's too old and doesn't work.

    How can I do padding using Photopea or another program?
  • EarthQuake
    Options
    Offline / Send Message
    Different applications use different techniques to calculate the padding. If it looks a little different in the empty space this is unlikely to cause any problems.

    Generally, Eric's advice makes sense but the padding distance applies more to when the textures are viewed from a distance at lower mipmips. At mip 0 this shouldn't come into play and you shouldn't see seams unless there is some other problem (unless you have 0 padding).

    Do you see seams if you do not use sub-d on the lowpoly mesh?

    When using sub-d things get more complicated. Different apps may smooth the UVs differently (or not at all), make sure where the map is baked and where it is displayed has the same sort of UV behavior if you can. Ideally, you should bake the displacement map (and other maps) at the target sub-d level. So if you plan to sub-divide the low poly 5x, apply that sub-d before baking.

     
  • SPQMan
    Options
    Offline / Send Message
    I don't see seams on lowpoly mesh, it looks like that in Blender viewport for example:


    Maya and Blender have some smoothing settings for UVs, but in Zbrush I am not sure how can it be. For example I have a highpoly and lowpoly meshes, and I do "projectALL" LP on HP or just copy+paste UVs in UVmaster zplugin if necessary. I do nothing with UVs in Zbrush.

    And I don't think that I quite understand: "So if you plan to sub-divide the low poly 5x, apply that sub-d before baking." 
    Because when I do like that, displacement becomes like cavity map or bad normal map, it has no volume.
  • pxgeek
    Options
    Offline / Send Message
    pxgeek keyframe
    It looks like you have smooth uv checked in the multi map exporter settings.
    Try turning it off and also turning it off in the subdivision settings in your render package. I'm not familiar with blender, but it could be 'none' or 'linear' maybe?

    Also worth checking this out:
    It's a little dated but probably still relevant here, the last section especially.
    While there's no blender option, I see that it has maya vray and arnold.
  • SPQMan
    Options
    Offline / Send Message
    The result of turning off Smooth UVs setting and turning it off in the subdivision settings in render package:
    Maya Arnold (AutoBump Enabled) ↓↓↓ (I mean even autobump feature catches these artifacts)



    Maya Arnold (AutoBump Disabled) ↓↓↓



    Blender viewport ↓↓↓



    Artifact seams are still here

    https://www.cggallery.com/tutorials/displacement/ 
    I read everything, but I was already aware of all these problems in zbrush from the last section (COMMON PITFALLS & AVOIDING THEM)
  • SPQMan
    Options
    Offline / Send Message
    I got an access to MudBox just for testing Displacement export from another app. 

    Firstly, I baked 16px padding VS 128px and there were no seam artifacts on both.



    Then I noticed that when I'm baking with "Smooth UVs" turned off in Zbrush, on the model appears other artifacts along the low poly mesh (wireframe), like that: 



    When I turn on "Smooth Target UVs" in MudBox I got the same seam artifacts, but when it turn off artifacts disappears
    (what doesn't happen in Zbrush).
Sign In or Register to comment.