ZBrushCentral

UV interpolation problems

I am using maps from zBrush with renderman, which interpolates UVs correctly when you make the object a subdivsion surface (its the same interpolation as maya smooth / catmull clark etc)

What I want to do is take this same object into zBrush and subdivide it once, this will be my new base mesh for some sculpting, as it looks like the subd does.

Problem is, zbRush does not seem to divide UVs properly on the borders, it does a linear devide rather than exponential so my UVs I calculate from will mismatch borders of what the subdivision will be like.

Heres some images below showing this…

  1. The original mesh that will be smoothed
    2)zBrush has divided it once with smooth UVs on
    3)zBrush has divided it once with smooth UVs off (internal UVs shift )
  2. What it should look like (this is renderman/catnull clark standard subdiv)
    5)The problem on the prman subdiv with a map from zBrush

Can anyone suggest a workaround? Is there some options I may be missing?

Is there a way I can export my mesh from zBrush and update UVs ?
Doing a zBrush ‘divide’ on my object does not match vertex order to a subdivide in maya or renderman on the same object (different vertex order), and manually tweaking the UVs is out the question.

Thanks for any help

Ben

Attachments

lores.jpg

level02.jpg

smoothUVoff.jpg

correct.jpg

example.jpg

OK, so I have a small amount of help for you.
I’m not sure what method you are getting to PRMAN with through maya, but I am using MayaMan.

By default, nothing generated from Zbrush will land appropriately in a subDiv via PRMAN as it does ‘smooth the UVs’, both border and interior UVs.
ZB does not. ZB can smooth interior UVs, but not the border.

In your model attributes for your renderman Subdiv, you can check on a little option called “Subdiv texture coords use ‘varying’”. At least that’s the attr name for MayaMan for Maya 6. You should be able to find that or the equivalent. When you check this on, Prman still smooths the UVs, however it now pins the border. So border UVs are still linear, but interior UVs are exponential (cubic, what have you). Now maps made in Zbrush with the ‘Smooth UV’ option checked on can line up properly to your renderman subDiv.

Unfortunalty there is no smoothUV option in ZB for multi displacement, and there is also no ‘linear UV subdivision’ option for renderman subdivs. So unless you are doing single UV tiles, renderman and ZB appear incompatible at this point. If the regular displacement options allowed for greater than 4K you could get around this by generating a 8k or 16k map then chopping the map up and re-arranging your UVs. But, it’s not:confused:.

So there is your work around for single UV tile subdivs in renderman with ZB generated maps.

Hope it helps, and feel free to drop a line if you’re having problems.

You’re exactly right, as far as the subdivison point order not lining up between maya and ZB. So theres no way to even make a once subdivied with cubic smoothed UVs jump into ZB. At least that would make it very close, however still have problems under close scrutiy.
I have however ‘Point snapped’ UVs to make this work. It’s a sad day at the desk when you manually point snap more than 5000 UV’s, but hey, life could be worse.

I hope there is some offical statement from Pixo about this. Ryan says several Renderman houses use ZB extensivley, so I’m curios as to their workaround. There’s no way they are limiting themselves to 4K, single UV tile, 16bit maps… is there? Because that’s all I can see that works right now.

Hopefully ‘SmoothUV’ becomes and option for multi displacement(3?) as well. For the time being, I am unable to use 32bit maps because of it (once again, no smoothUV options for DE2). Pretty please guys? Smooth UV options for all map generation, just for the renderman users:D.

No suggestions from anyone from Pixo on dealing with Multi UV with Prman?

Anyone?

tap tap This thing on?

:wink:

you can dea with multiple UV sets easily in prman, in your shader you can sepcify which UV set to use.
eg

map1
map2

you can force your shader to use map2_u and map2_v for the ST coordinates I think!

Thanks gunslinger, but that’s not the issue at hand.

Re-read this thread, and you will see what we are talking about.

I answer lately, but the only solution is to use Cyslice, from Headus.
It’s an app designed to extract Disp and normal maps from arbitarry meshes.

Old thread, that I started years back but I have an update.

Renderman now supports a handful of different methods of interpolating the UV border for catmull SDS, so depending on your weapon of choice for baking textures you need to consider setting a flag on your models.

For zbrush and modo set the facevaryinginterpolateboundary to 3 on the model in for rendering in prman. This will smooth the internal faces and preserve the linear UV border, just as zbrush does so should be no artefacts.

Hi Gunslinger,

I found this thread after googling these types of displacement maps and would like to ask you, how would you apply this value of 3 you mention?

Is it added in maya to the object, or in the renderman .ini file somehow?

I am running maya 2009 with renderman v3.

Thanks for any help,

gubar

Add a ribbox to your model set to this

Or

set it globally in the render man.ini

facevaryinginterpolateboundary 3

type the above

Thanks gunslinger :slight_smile: