Blender Edition Documentation 3.2.5

UVPackmaster logo

Track Groups

The video tutorial describing the Track Groups functionality:

Using the Track Groups functionality the user can make duplicated UVs track (follow) transformation of original UVs during a packing operation.

In order to use the Track Groups functionality, enable the checkbox located in the Track Groups subpanel header:

Tracking setup

In order to set UV tracking up, first duplicate a set of UVs and move duplicated UVs by an offset in the UV space:

You can move duplicated UVs by any offset but make sure the offset for all duplicated UV islands is the same. The example duplicated islands in the image above were moved by offset 1 along the X axis.

Next select both original and duplicated UVs. If you press the Show Group Assignment button, you will notice all islands are not assigned to a track group by default (the N letter):

Islands not assigned to a group are ignored by the functionality (they are processed in the usual manner by the packer).

In the next step assign all selected islands to the same track group (e.g. group nr 1):

You only need to make an assignment once for the given UVs.

During a packing operation always make sure original UV islands are selected whereas duplicated UVs are unselected:

Every time you press the Pack button, you will notice duplicated UVs will follow transformation of original UVs, relatively to the given offset in the UV space:

You can duplicate original UVs more than once and all duplicated sets will track original UVs assuming all sets are assigned to the same track group.

In practice, one doesn’t often duplicate the entire UV map. Instead one would like only a subset of islands to have duplicates, and also make different islands track different groups of islands. In such a case, assign islands to many different track groups and also leave the islands without duplicates not assigned to any group:

Naming convention

The Track Groups functionality uses the following naming convention:

  • original UV islands (islands which determine transformation) are called driver islands
  • duplicated UV islands (islands which follow transformation) are called tracker islands.

Driver-tracker matching

The packer matches driver islands with tracker islands analyzing offsets between islands which are identified as duplicates. The process is performed independently per every defined track group.

Duplicates are identified by checking whether island shapes (in their original orientations) are similar. The process is analogical to how the Align Similar (Stack) operation determines if two islands are similar with the only difference being driver-tracker matching comperes only island original orientations in the UV space (it doesn’t rotate islands during comparison). If island shapes are similar (in their original orientations), they are considered as duplicates.

The method used for checking if island shapes are similar is determined by the Matching Mode option. The possible choices are: Border Shape, Vertex Position, Topology. The modes work analogically as the values of Similarity Mode option used by Aligning Functionalities.

Because driver-tracker matching is based on island shape similarity, the following actions may prevent the packer from matching islands properly:

  • transforming UV vertices of driver islands without performing analogical transform on tracker islands (and vice versa). That includes rotating, scaling, moving particular UV vertices or entire islands.

If the packer is not able to find a match for a driver island, it will raise an error and abort the operation. You can ignore such errors by disabling the Require Match For All option, though doing so is not recommended. If you have islands which are not meant to drive any other island, simply do not assign them to any track group - that way you won’t have to disable the Require Match For All option.

WARNING: if the Matching Mode option is set to a vertex-based mode (Vertex Position or Topology), sometimes it is required to run Merge By Distance on all islands with a very small threshold (in order to remove duplicated vertices). Otherwise the tracking functionality may not recognize duplicated islands properly.

Defining groups

Track groups may be defined using two approaches:

  • numbered groups - every group is identified by a number
  • grouping scheme - a scheme contains a set of groups identified by human-readable names

The approach in use is determined by the Use Grouping Scheme checkbox at the top of the panel. By default the checkbox is disabled which means that numbered groups are used.

Numbered groups

In this approach every track group is identified by a number. By default islands don’t have a group number assigned. Islands with no group assigned are marked with the N letter.

In order to make the given tracker islands track the given driver islands, select both sets of islands and assign the same track group number to all of them. After all track groups are defined as intended, you should only select driver islands before packing - all tracker islands should be unselected during packing as described above.

Islands not assigned to a track group will not be processed by the functionality - they will be processed by the packer in the usual manner.

Grouping scheme

In order to define track groups using a grouping scheme, create a new scheme for that purpose or select an already existing scheme. After the scheme is selected, press the Edit Scheme In Editor button - you will be automatically redirected to the Grouping Editor with the given scheme selected for editing.

In the editor you can add/remove groups in the scheme, define human-readable names for groups and also assign islands to particular groups.

Every grouping scheme contains a default group - it is marked with the D letter in the UI. For every newly created scheme, all islands are assigned to its default group at the very beginning. You can create more groups in the scheme and assign particular islands to groups according to your needs.

When a scheme is used the define track groups, you should assign the tracker islands and the driver islands, they are meant to follow, to the same non-default group.

Islands assigned to the default group will not be processed by the tracking functionality - they will be processed by the packer in the usual manner.

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.