ZBrushCentral

Let's talk about 'suv', let's talk about you and me

Hello ZbrushCentral :slight_smile:

I am part of a small team, currently we’re having some issues in regards to what is proper procedure for smoothing UVs and getting correct renders (Arnold).

Our main problem stems from colour textures mis-aligning to our displacement (in this case, vector displacment). To be honest this has been quite a headache for us so it would be great to be able to clarify things on the forum here. Perhaps we have just confused ourselves with needless complexity :lol:

For starters, we are outputting our vector displacement with smooth UVs turned on. Then for the colour texture, we realised that turning on the ‘SUV’ button in the geometry tool and hitting ‘ReUv’ gave us a colour texture that alligned to our displacement. That seemed to make sense… smooth displacement, smooth diffuse texture. Well… most of the time it works. In reality this seems to be a bit hit and miss as sometimes we are still getting a mismatch between our displacement and the colour texture. We seem to be getting different results when smoothing and recalculating UVs.

I would really like to know what people consider a proper workflow when dealing with smoothed Uv’s and various texture maps in Zbrush. Also, we’re confused about whether Uv’s need to be smoothed or not on the mesh itself before exporting.

Cheers and thanks
Zkar

I am not 100% sure but I think that Arnold handles UV smoothing the same way Renderman does? (Not sure)

Renderman has ‘Smooth All, Preserve Hard Corners’. This means all UVs are smoothed except those with a valence of 2 (one vert connected to 2 edges).

ZBrush has ‘Smooth Internal, Hard Borders’. This means all internal UVs are smoothed exceptborder UVs.

Mudbox 2013 has Renderman compliant UV smoothing (was incorrect before, was fixed in this version) via an environment variable.

I think you can specify UV smoothing options (UV valence) in Renderman and I wouldn’t be surprised if you can do the same in Anrold. Unfortunately I do not use Arnold so I can’t help you there.

Hope that helps,

-Nick

Thanks NBreslow- I think we have things working properly now,

Cheers :slight_smile:

Hi again. Ok- we’ve made some tests. :wink:

It turns out that once you’ve pressed the SUV and reUV button in the geometry palette, you cannot get back to your original uv’s by recalculating them via ‘ReUV’ with ‘SUV’ turned off. I tried a simple test by importing two .obj’s into Maya- the original and then the same mesh which had it’s uv’s smoothed via ‘ReUV’ and then recalculated again unsmoothed. A quick check in the uv editor shows that the uvs are obviously different.

I went further with the test and realised that each time I calculated back and forth between SUV on and SUV off, my uvs were becoming more and more removed from the original uvs.

suvproblem.jpg

My assumption about the ‘SUV’ and ‘reUV’ buttons were that they acted as a kind of toggle, between smoothed and original UVs. But this isn’t so. Actually, everytime you enable ‘SUV’ and hit ‘ReUV’, you will get additional smoothing on your uvs. This has tripped us up badly- as we were working on our original mesh and updating our texture maps, recalculating for smoothed UVs on export, and wondering why our texture maps weren’t aligned.

Some more tests…

When exporting vector displacment maps, we were able to generate four slightly different maps under the following settings:

*Smooth uvs checked on in the vector displacement options (prior to any SUV recalculation in geometry palette)
Smooth uvs checked on in the vector displacement options (SUV recalculated in geometry palette)
smooth uvs unchecked in the vector displacement options (SUV recalculated in geometry palette)
*Smooth uvs checked on in the vector displacement options (unsmooth uvs recalculated in geometry palette)

What was confusing me:

1 - For the 1st and 4th settings, I would have assumed that the two outputted vector maps would have been identical- as recalculating unsmoothed uvs via ‘ReUV’ is supposed(?) to return you to your original uvs. But this isn’t true, confirmed by this test and my other basic tests described above.

2 - For the 1st and 2nd settings, I would have expected that hitting ‘ReUV’ with ‘SUV’ on would produce an identical map to the first map (you can’t smooth twice right? Untrue, zbrush applies more smoothing to your base uvs).

So basically we’ve discovered a number of things.

Firstly ‘reUV’ doesn’t do what it says on the tin- “zbrush will reapply the original uv’s before they were smoothed” - as I said, this has been a huge trip up for us, as we were always using the same exported mesh in Maya and applying new maps out of zbrush to it.

Secondly, zbrush just keeps on smoothing uvs everytime you recalculate for ‘SUV’. Smoothing uvs in the vector displacement palette and smoothing uvs additionally via ‘SUV’/‘ReUV’ has an effect on the outputted texture map. It’s double smoothed. Or something. Another layer of confusion.

Of course, the problem goes away as soon as you export out an updated base mesh with the altered uvs (or, I guess- reimport uvs from the original base mesh), along with your current textures. But it’s been quite a painful process in realising this. We chased many different theories, tried all kinds of ‘voodoo’, simply in order to export our maps (kinda the whole point of zbrush to my mind). Very frustrating, to say the least. I won’t go any further… :roll_eyes:small_orange_diamond:)

Ok, thanks for listening

I ran a quick test and you are absolutely right.

It shouldn’t matter whether you only smooth or smooth then reuv, the original UV border should remain intact. This is because ZBrush only smooths internal (as far as I know).

I tested a primitive sphere exported from Maya as an OBJ (sphere). In ZBrush I enabled SUV and divided 3 times, exported the resulting OBJ(sphere_suv). Then I turned SUV OFF, clicked REUV and exported the resulting OBJ (sphere_suv2reuv). I imported all 3 back into Maya and looked in the UV Texture editor. What a mess - nothing on the border matches up. See the attached image.

ZB4R3_UVsmoothing.jpg

I guess I just don’t understand why that 5 pole in the valley got smoothed in the first place? The 2 pole points stay locked.

I don’t mess with ZBrush and UVs personally (Use Mudbox to bake/paint) but it would be great to get an explanation.

-NB