PolyGroupIt

PolyGroupIt

Complex PolyGroups in no time!

PolyGroupIt is a plugin for ZBrush that allows for easy creation of your model’s Poly­Groups. These are used in organizing the mesh with visual grouping information and are also integral to many of the advanced features available in ZBrush. PolyGroupIt will analyze you model’s topology and — based on the settings you choose — detect boundar­ies of potential PolyGroups. This makes their creation fast and easy.
PolyGroupIt works mainly on the concept of “seed” points: You click on a part of the model to define the creation of a new seed. PolyGroupIt will then create a PolyGroup around this seed until it detects changes in the model’s topology or structure.
The beauty of PolyGroupIt is its ability to detect these boundaries not only on most hard surfaces, but also for shapes which are more organic. This is accomplished due to the threshold control for each seed. If you prefer having full control over the PolyGroup process, you can first paint boundaries for your PolyGroups as PolyPaint on the model. PolyGroupIt can then generate PolyGroups from the PolyPaint.

2018_21

An example of using PolyGroupIt by first drawing PolyPaint boundaries to define the PolyGroups. Mesh Extract was then used to convert the PolyGrouped areas to a final mesh. Model courtesy of Nacho Riesco


Using PolyGroupIt

To start working with PolyGroupIt, you need to load a PolyMesh3D model. This mod­el can have multiple subdivision levels, in which case PolyGroupIt will work at the lowest Subdivision level.

2018_22

The PolyGroupIt commands, found in the ZPlugin palette.

In the ZPlugin palette you will find the PolyGroupIt sub-palette. Open this and click the PolyGroupIt button. After few seconds, a floating window will appear. PolyGroupIt is a stand-alone application. You should see your model and be able to manipulate it using the usual ZBrush “right click” 3D navigation controls:

2018_23

The PolyGroupIt UI. Model courtesy of James Cain.

If your model had any PolyGroups to begin with, they will be removed at the begin­ning of the PolyGroup operation. PolyGroupIt is a tool for PolyGroup creation rather than for modifying existing groups. Clicking on any part of the model will create a new seed, represented by a sphere. Around this sphere you will see a very small colored area matching that of the seed itself.
The workflow process is to select the seed by clicking on it, then set its influence zone by moving the associated slider. A low value will give a low tolerance to surface angle while a high value will increase this tolerance. You can also counterbalance the tolerance by adding extra seeds with unique tolerance settings for each.

2018_24

These are three different values for a single seed. From left to right, the value is progressively increased. As you can see, the value on the left isn’t high enough to properly detect the boundar­ies. Detection is better in the center and optimal on the right.

You can click on a previously created seed at any time to edit its tolerance value. You can also click and drag to move it to another location.
An important factor to consider beyond simply the threshold value for each seed is their creation order. Each seed created has less overall influence than those that came before it.
When you are happy with the result you can turn on Extend mode to fill the gaps between each seed area.

2018_25

On the left, the PolyGroups before using Extend and on the right, the result: as you can see, the model no longer has unpainted areas.

If you wish to send back the model to ZBrush, click the OK button at the bottom of the window. PolyGroupIt will close and your PolyGroup modifications will be applied to your ZBrush model. Don’t forget to turn PolyFrame mode on (found in the Draw palette) to see your PolyGroups.

2018_26

The resulting PolyGroups shown in ZBrush. (Lines from the PolyFrame have been hidden.)

If you need to edit your model’s PolyGroups again (so long as you are in the same ZBrush session), simply relaunch PolyGroupIt. You will see all the seeds applied on the model, ready to remodified.


Working with Symmetry

So long as the model’s shape is symmetrical, PolyGroupIt also supports symmetry for the creation and manipulation of seeds. The algorithm looks at the surface rather than the underlying topology. This means that PolyGoupIt symmetry can support things like a DynaMesh model or scan data. Meanwhile, it is important to keep in mind that because PolyGroupIt works on the surface itself it may produce a variation in the PolyGroup cre­ation even if the model is topologically symmetrical.
To enable Symmetry, click one of the X, Y and Z buttons in the PolyGroupIt UI. Re­member that since PolyGroupIt is a stand-alone application, these settings are indepen­dent from ZBrush symmetry settings.
If you need to work with partially symmetrical models, you can start creating seeds with symmetry enabled. When you need to disable symmetry can click the Apply Sym­metry button. This will convert all the symmetrical seeds to individual seeds. Any new seeds will be created without considering the model’s symmetry.

Notice

If your model is symmetrical but your result with PolyGroupIt is not, you can use the Tool >> Geometry >> Modify Topology >> Mirror and Weld function to rebuild its symmetry. This will simul­taneously produce truly symmetrical PolyGroups.

Back and Forth with ZBrush and PolyGroupIt

When sending a model that has previously been edited by PolyGroupIt back to the plugin, you will normally find all your previous seeds and settings ready to be edited or modified anew. However, if you have restarted ZBrush or changed the model’s topology in ZBrush, all previous seeds will be lost and the PolyGroup state will be reset.


Conversion of PolyPaint to PolyGroups

PolyGroupIt provides a very useful utility which allows you to PolyPaint boundaries in ZBrush and convert those to PolyGroups. The process is simple. Using a black color, paint your model to draw the boundaries around the PolyGroups you want to create.
There are two options for how PolyGroupIt will use these boundaries. Zplugin >> PolyGroupIt >> PolyGroupIt from Paint will create only the PolyGroups described by the boundaries (in other words, the filled areas between the lines). Zplugin >> PolyGroupIt >> Border creates these same PolyGroups but also converts the drawn lines themselves to be an additional PolyGroup.

2018_27

On the left, the original model. In the center, the model with the PolyPainted boundaries. On the right, the resulting PolyGroups after using the borderless option.

Notice

After performing this action, the PolyPaint will remain active and visible. This makes it easy to refine your lines as necessary and re-run PolyGroupIt to make modifications.

PolyGroupIt Functions