ZBrushCentral

plugin request: bake polypaint to multiple textures using UV groups

Hi,

I was wondering how difficult would be to create a very useful plugin that I think would help me immensely and I’m sure will do the same to several ZBrush fellows.

You guys know how the Multi Displacement 2 plugin works right? So, I was thinking about a plugin that could match the same results, exporting a collection of maps based on the UV space but instead of generating displacement maps, this plugin would bake the poly paint done in the model to multiple textures automatically.

Lets say that I have a full body model and the head is in one UV space, the arms and legs in another UV space and the torso in another one. By pressing a button I would love to see a plugin that could do this:

  1. go to the lower res on the current mesh
  2. activate UV groups
  3. hide everything but the polygons that are part of first UV space (0 to 1)
  4. create a new map
  5. set RGB intensity to 100 to be sure that all the color information will be transferred fully when using Col > Txr
  6. go to the highest res to make possible to transfer all the poly paint information
  7. Col > Txr (bake the poly paint info to the new texture)
  8. Save the first map with the suffix “_01” (or something that makes sense as a sequence)
  9. Unhide the whole object
  10. hide everything but the polygons that are part of second UV space
  11. repeat steps 4 to 6 and then save the texture with the next suffix number, in this case “_02”

The plugin must identify the amount of maps according to the number of UV spaces, jut like the Multi Displacement 2 plugin does and then generate the maps auto-numbered, also in the same fashion.

A little menu asking for the name prefix for the textures and also another little menu to select texture size presets like 1k, 2k, 4k and 8k would be a great add.

Let me know if this is possible to create. I could script a few steps but since I have no clue about more complex functions, like identifying UV spaces automatically, I hope some of the geniuses here come with a great addon for our beloved ZBrush :slight_smile:
Again, in my opinion, this is a HUGE help to create color textures that match the displacement maps created by the awesome Multi Displacement 2 plugin.

Thanks in advance for any help,
-Kris

Bump :slight_smile:

Marcus, what do you think? wink wink …

Hi Antroups, I would imagine this is something Pixologic would like to work on at some time, for both normal and color maps. Right now it does not seem possible to automate the required steps for multi normal/color map output using just zscripting.

As far as I understand it the Multi Displacement plugin uses the [Mesh3DGet,…] command to gather information about the tool and the [DispMapCreate,…] command to generate the displacement map(s).

Although we can work out how many UVtiles there are (Mesh3DGet) we cannot tell ZBrush to generate a map specifically for that UVtile (DispMapCreate with UVtile parameter).

There is a [NormalMapCreate,…] command, however, that uses the default zbrush normal map generation function and not ZMapper and its more advanced settings.

So, ideally we would have a new command, maybe [Mesh3DSet,…], that would allow us to change the mesh visibility according to polygroupings or UVtiles (maybe even a “grow/contract current visibility” parameter?). Simply adding a [ColorMapCreate,…] command would only solve Antropus’ particular problem.

Of course a Mesh3DSet command would not solve the “multi zmapper” problem. But I hope the Pixologic guys have implemented a console interface to the zmapper .dll functions ?

Mark

since we are talking about things we would like to see in zbrush. i personally would like to see it be possible to make ambient occlusion textures in zbrush as well as these features antropus spoke about.

Hi TVeyes,

thanks a lot for the clarification. I agree. If the command you are saying was available, to generate different maps for every single UV partition would be so much simpler.

Right now, I can totally generate my color maps one by one, by doing this manually. I just needed an automatic way to generate them. I was imagining, for example, in a production, when you model something as a concept but you still add a lot of details on both model and textures, even if at this point it’s just a concept (clients love to see very detailed concepts, more and more every time). So, now let’s say that the client approved the concept and you don’t want to lose all the work you’ve put on it. In this case, I could just retopo the whole mesh, layout my UVs in different shells, transfer all details from the highres to the new basemesh and then tell Zbrush to generate all displacement maps AND color maps (that lately will be tweaked in photoshop). This would be a great starting point and will make the whole concept-to-final model a much easier step in my opinion, with no lost work or need to redo any polypaint work whatsoever. Everything that was approved by the client will be there and just can be improved from there. I’m talking about one model here and I know that it’s not that painful to generated the separate maps by hand, but if we are talking about 10 different characters that need to same process repeated over and over, then this plug in would come very handy.

ZBrush is a great asset and I just want to see it more “pipeline friendly” :slight_smile:

Still wanna read what Marcus have to say about it :wink:

-Kris

Hi Kris,

I didn’t miss this. :slight_smile: I’m looking into it but it will need a dll and that may not be possible for a while. Not sure how feasible the whole thing is but will certainly try… I understand how useful this would be.

I’ll keep you posted. :slight_smile:

Cheers,

Awesome! Thanks Marcus! :slight_smile:

-Kris

what about a texture map from polypaint per subtool/UV/Polygroup

thanks