ZBrushCentral

PolyPainting Plugin – custom button set for ZB3

PolyPainting splash.jpg

What is the PolyPainting custom Button Set?

In ZBrush3 you can no longer paint directly onto texture maps (unless you use Projection master).

Instead, you must paint directly onto the polymesh. The more subdivided the polymesh is, the better resolution and detail in your painting. At some point you will want to transfer your polypainting to a texture map to be exported along with your model (an .obj file.) This PolyPainting button set is designed to simplify and streamline this whole process.

Generally, the button workflow is this:

Assume you have loaded a model with GUV mapping (or imported a pre-UV-wrapped .obj file) and you want to paint on your model. It should be in edit mode. You may also have imported a texture map which should be selected. If not, you can create one and make sure that is selected. The New Map button lets you quickly create one if you need to offering three different sizes.

The Five buttons are used in this order:

  1. New Map = If your model doesn’t already have one create a texture map and assign it to your model.

  2. SaveUV = This critical step creates a temporary .obj file at lowest subD level which preserves your UV mapping, then creates a Morph Target also at lowest subD level and identifies the texture map with the model. You will always be asked if you want the existing texture map colors to be copied over to initialize the PolyMesh - if so press yes. Also, remember you should already have subdivided to the highest possible polymesh resolution BEFORE you agree to copy your texture map to the polymesh - this lets you start with a polymesh version that’s as sharp as your original imported texture map!

  3. HideMap = Press this button to start or to continue with the polypaint process. The Texture Map is deselected revealing the polygons. It also selects the highest subD level, selects colorize and disables UVs. At this point you may choose to subdivide your model several more times to enhance the polymesh detail. Now you begin polypainting on the model in Draw>Rgb mode using different alpha brushes and optionally, painting with other textures. Avoid modifying your model’s surface (Draw>ZAdd should remain off.) When finished painting, move on to step 4.

  4. ShowMap = This reselects and displays your map, then changes your model to its lowest subD level. The original UVs are recovered from the stored.obj file and re-applied to your model which is then again set to the highest subD level. With the texture map reloaded it may look like your polypainting is gone… but it’s all still there, underneath.

  5. PolyPaint to TexMap = Reselects DRAW:Rgb and sets Rgb Intensity to 100%, and transfers the polypainting from your polymesh up onto your texture map.

At this point you simply repeat steps 3, 4, 5 - painting and enhancing your RGB polypainted model, reloading your texture map, then updating it as often as you want.

Used together this button set will hide from view all the repetitive pressing of buttons and settings of slider values so you can focus on poly-painting your model and transferring it to the texture map for eventual export.

Installing the PolyPainting Plugin

Unzip the PolyPainting.zsc file into your ZStartup\ZPlugs folder. The next time you start up ZBrush3 you will find a new subgroup titled PolyPainting, in the TEXTURE Menu which contains the buttons as shown above. The question mark is a help button which pops up the same info outlined above.

The PolyPainting Button Set is free for distribution to the ZBrush community. Please post any bug reports or helpful suggestions to the ZBCentral Forum.

Thanks! - Svengali, August 2007

[Updated August 14th - to include option under the saveUV button that copies the map colors to the polymesh, as suggested by EddyLoonstijn :slight_smile: )

this is great!!! :+1: thanks

Much appriciated! It’s going to be a very cool and handy tool ! But can’t find the download for it just yet.

Apologies, (wearing my moderator’s hat) I had to temporarily remove the file. It will be back up very soon.

EDIT: Back up there, sorry for the delay.

Looks like this’ll be a GREAT plugin Sven :slight_smile:

Look forward to this one :+1:

Chris

Hi Marcus,

Thanks in advance man. I am new to ZB and need all the help I can get :slight_smile:

Cheers,

yvan_c

Sorry about my previous post. I meant to say was “Thank you Sven”.

Regards,
yvan_c

This looks awesome, Svengali!

I’m hoping this ‘temp .obj’ file process will correct the corrupting of UVs I
seem to be continually getting once I re-import my low-poly .obj back into
XSI. Great work, and thank you! :slight_smile:

WailingMonkey

Marcus, thanks very much for your help reposting the script. (it does get complicated, doesn’t it? :slight_smile: ).

To everyone else who might download: This first release of the PolyPainting button set is subject to updating, depending on the feedback I get. In my own tests it seems to work fine, however I know there are some situations I couldn’t test (particularly exporting the model with the newly created texture map.)

Test it carefully and let me know of any problems. Thanks, Sven

Another genius but simple plugin… :smiley:

Thank you Sven… :+1:

You Plugin Masters are making our lives easier with every addition. Thanks Svengali, this will come in handy! :+1: :+1: :+1:

Thank you! Nice Plugin

UV coordinated Multi Model…

  1. Texeture:UV Check
  2. Polypainting:SaveUV
    Testing OK!!!:slight_smile:

Cool Plugin, Svengali

Thanks for your hard work and for sharing.

Greets

Roland

Thanks Sven

Andreseloy

hi Sven, thanks a lot. Will use it, have tested it and its a nice workflow improvement.:+1:

Seconded from Erklaerbar

Definitey saves a little bit of the ol’ grey matter upstairs :wink:

Nicely implemented proc. Sven - many thanks :+1: :+1: :+1:

Chris

Cool! Can’t wait to check this one out. Still trying to get everything sorted out from a crash and burn…so far z3 doesn’t llike this computer :cry: but have a few days off so hope to get it all sorted out.
Thanks for another cool plugin Sven!

Hey Marcus…looks like I missed something…congrats on the moderator thing!

Thanks for the nifty plugin!! :slight_smile:

thanks for another great plugin Sven! :+1: It’s been working really well so far, but I had a question: how would you expect the plugin to work polypainting a model with several subtools and through several sessions of opening & closing the Zbrush app? Since the plugin saves off an obj for the morph target I was wondering how it tracks all the related files if I close Zbrush to go home at the end of the day (or if Z crashes).

thanks again for all your hard work.

best,

Gray

Hi Gray,

I didn’t test too much with multiple subtools. What I did first was polypaint all the subtools the way I wanted each of them to be.

Then for each subtool in turn, I selected the subtool, apply GUVmapping, and loaded a new texture map. Then I stepped through the four buttons: saveUV, hidemap, showmap and polypaint to texmap (with no additional polypainting).

Since the selected texture map is simultaneously displayed on all the subtools it can get confusing - it’s probably better if you have only the current subtool visible during the process.

In the end you’ve made a separate map for each subtool. That’s as far as I took the tests.

As for interrupted sessions, continuing later should not matter as long as you always start the next subtool by assigning it new UVs, and a new map, then always press the saveUV button first.

I suggest that you experiment… and please post anything you might learn that would be helpful to other users.

Thanks to you and to everyone else for your generous comments!

Sven