After you have installed UVPackmaster, you will see it provides a ton of different options. Fortunately, you don’t need to tweak anything in order to perform a basic packing operation. Simply select UV islands you want to pack and press the Pack button. You should see your islands packed immediately.
The most essential option you should pay attention to at the very beginning is Precision (in the Basic Options panel). It determines how exact the engine will be when packing UV islands. On the one hand, the greater the Precision value, the better quality of packing. On the other hand, greater Precision means a longer packing time, which is why you should increase this parameter carefully. The initial Precision value is 200 – it should be sufficient for most cases. If you want to achieve more exact margins (in pixels), sometimes you will have to increase this parameter to 500, and to 1000 at maximum. Greater values will only be needed in very rare cases, when you want to achieve very small margins between islands (e.g. 1 pixel in a 4K texture). Generally you should avoid setting Precision to a value greater than 1000 as it will increase the packing time considerably.
Keep in mind that setting Precision to a too low value might result in overlapping UV islands after packing. You should not worry much about it though – the packer automatically checks for overlapping islands after packing is done. It will select the problematic islands and show you an appropriate notification.
The Margin parameter from the Basic Options panel implements the so-called basic margin (in contrast to pixel margin). It determines the distance between resulting islands after packing. Packing with the use of basic margin is fast, but you should be aware that the value of margin is applied to islands before packing. After packing is done the UV islands are scaled (to fit the packing box), and so is the margin value which was originally applied. That is why it is difficult to predict the exact distance between islands in the resulting UV map when using the basic margin functionality. If you want to specify the exact margin between islands (in pixels), you should use the Pixel Margin option. The default value of the Margin parameter (0.005) is a good one to start with.
The Rotation Step parameter determines how many orientations of every island will be taken into consideration during packing. This parameter is expressed in degrees. For example: if the parameter is set to 90 (degrees), then 4 orientations will be taken into account: the basic orientation (island rotated by 0 degrees), island rotated by 90 degrees, island rotated by 180 degrees and island rotated by 270 degrees. If step is set to 45 degrees, then 8 orientations will be processed etc. For efficiency, the preferable value of the Rotation Step parameter should be a divisor of 90 (i.e. one of the values from: 1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45, 90), although this is not strictly required. Keep in mind that the lower the rotation step, the longer the time required to pack the UV map.
IMPORTANT: in the vast majority of packing scenarios the default value of 90 degrees for Rotation Step will give you best packing results in a short packing time.
Proportions between islands and texel density
The default behavior of UVPackmaster is scaling islands after packing, so that they fit tightly into the packing box (that’s the main idea behind UV packing, isn’t it?). The scaling factor is the same for every island in most cases. There are some exceptions though – the scaling factor might NOT be uniform, if any of the below conditions is true:
- packing mode is set to Groups To Tiles.
- Normalize Islands option is on.
Uniform scaling means that the proportions between islands will be maintained after packing is done. For example: if you manually scale an island up before packing (so it is relatively bigger than other islands), it will also be bigger after packing is done (proportions between the island and other islands will be maintained). This feature also implies that UVPackmaster doesn’t change the relative texel density of the islands – in particular: if all islands have uniform texel density before packing, they will also have uniform density after packing (though the density value itself will be most likely changed due to the scaling operation).
There is a special mode of packer operation: Fixed Scale. When enabled, the packer won’t scale islands during packing. It means that the dimensions of the islands will be exactly the same as before packing, and so will be their texel density. It should be noted that this mode should only be used when it is really needed, because it violates the main property of UV packing: adjusting UV scale to achieve the best texel density for the given islands in the given packing box.