UV Packmaster Pro 2 or UVP for short, is a Blender addon that will help you pack your UV maps into the non-overlapping area or in UDIM terms called the 1001 space. I have tested UV Packmaster on Blender 2.80 release candidate and I must say that it is a very good timesaver when you are working with UV Maps.
UV Packmaster will not create the UV Map for you, but if you did your unwrapping job well enough UVP will nicely organize your UV Map with speed. The organization part of the UV Map is, for me at least, the most time-consuming part of UV Mapping. So having a sophisticated add-on to help with the work is very welcome.
Let’s start by listing some basic facts.
Link to product page: UV Packmaster (affiliate link)
The focus of UV Packmaster is definitely on speed. Arguments such as the add-on being written in C++ and having graphics card support are high on the developers’ list. The argument why you need so much speed when packing UV maps seems to be to get quick feedback. Even if I can’t really argue with that I find the features of UVP to be far more valuable to me than the fact that the add-on is snappy.
You can download a demo of the add-on here:
The demo will not apply the UV Map. Instead, it shows the UV Map in a separate window.
How to install UV Packmaster
Installing UV Packmaster is the same as most other add-ons in Blender. No surprise here. It comes as a zip package and you install it through the user preferences add-on section.
For me, I had to unzip the package, move up a folder and zip it again before Blender would recognize it as an add-on. No big deal, but can be good to know if you get stuck during installation. There are quite a few Blender add-ons that are zipped one level too deep, so it is not unique for UV Packmaster.
How UV Packmaster Pro 2 works
Once the add-on is installed you can find it if you go to the UV Editing workspace, hit “N” for the right side properties panel. Here you now got a new tab called “UVPackmaster2”.
Select all or part of your UV Map. Go to the operator section in the Add-on interface and hit “pack” to start packing with default settings.
The add-on interface is divided up into sub-sections and to me, this interface is sadly quite poorly laid out. But let’s get into some features and talk UI later.
Speed is a high priority
With UV Packmaster speed is a high priority. We can use either CPU or Cuda enabled graphics cards is supported. For AMD Radeon users, you are sadly out of luck and stuck to the CPU. This is not a dealbreaker though. I run Radeon cards in my main build and I have not experienced very slow packing using the CPU. Though even with a low-end Geforce GTX 1050 that is sitting in my laptop speeds up the process quite a bit. So if speed is important to you, just keep this in mind.
Together with the relatively large device support comes a heuristic algorithm. This means that the pack operation is running continuously until canceled and will return the most space-efficient solution it can find. We can give UV Packmaster some time to calculate different options for packing based on our settings. The longer time we give it, the more likely the add-on is to increase the surface area that is covered by our UV Map. Sometimes the covered area can go from around 50% to well over 70% coverage in just a few seconds of extra calculation time. There are a basic heuristic algorithm and an advanced for the Pro edition of the add-on. I have not noticed much difference between them. Perhaps the UV Maps I have tested has been too basic. My guess is that it is a tradeoff between speed and more advanced ways to organize the UV islands.
These are the main functions related to speed. There are also some features that help us get different solutions when packing.
What settings are available for UVP Packing?
First up is rotation. We can set a rotation step that tells UV Packmaster how it may rotate the individual UV islands to fit them to the non-overlapping area of our UV Map. Allowing too small rotation steps can really increase the time it takes for UVP to pack the islands.
But being able to set rotation has some nice advantages for the artist. For instance, if you plan on using the UV Map in Substance Painter or similar, think about the rotation of your individual islands when applying textures that have a clear direction to them. Some examples are wood, bricks, or brushed metal in one direction. It can be a pain to rotate those textures individually for each UV island in substance painter. So being able to keep them on a 180-degree rotation can save you time later.
There is also support for packing when using a non-square texture. The add-on will pack according to the selected image texture in the UV editor. These features work as expected. We can pack according to texture ratio and adjust the already packed UV Islands.
UVP also has a feature to pack your selection into already packed UV islands. Let’s say that you added some screws and bolts to a mechanical object after having UV Mapped it already. You can then select this new geometry in the UV editor and pack them in between the already laid out UV map. This is excellent when you just want to add some detail later in your workflow.
We can also lock overlapping UV islands. Let’s say that you were making a table and all legs should have the same texture. To save UV space, you might want to overlap only those pieces in your UV Map. That is possible with UVP. You just unwrap them and use the align similar feature of UVP, then it is just a matter of checking the “lock overlapping” checkbox and pack. Keep in mind though that any overlapping UV islands will keep being overlapped even if they don’t have the same shape so you might want to use UVPs overlap check feature before packing.
UVP has a grouping feature that enables us to group the UV islands according to a few different criteria. It can be per object if we are using Blenders multi-edit feature in 2.80. It can also be by material, mesh parts or similarity, which uses a threshold.
Next up is pixel margin. This is my favorite setting. However, it only works with heuristic enabled. We use it to set the margin between islands on a pixel basis rather than a seemingly arbitrary number. Before the heuristic search begins, we give UVP a few seconds to think and it calculates a nice distance between our islands based on the pixel margin value and the texture size that we set.
Contrary to the pixel margin, there is also a regular margin setting. However, I am not sure how this works under the hood. It seems to be related to a precision value, determining how precise the UV map is to be laid out. Having a too small margin with a too small precision ends up with overlapping UVs. Sometimes there doesn’t seem to be a difference when changing the margin and sometimes the islands are scaled down to a tiny size to account for all the margins around each UV island. Pixel margin is much more straightforward and reliable to me.
UV Packmaster operators
All the settings have to do with how the UV islands are packed. However, there are also three operators with no parameters. Two of them have to do with validation and checking your UV map. “Overlap check” just checks if the UV islands are overlapping each other in some way. This is a pretty basic check.
There is also a “validate UVs” operation that is a much more in-depth analysis. It will check if your UV maps are overlapping each other and themselves. It will also check for invalid faces that may cause problems when baking such as self-intersecting faces and faces overlapping each other. Self-intersection is common when working with ngons and this is a good way to validate that there will be a clean bake.
Left for last is an operation that will return a percentage value of how much of the UV space is being used. Useful mainly to see if we gained any pixel density over previous packaging attempts.
We also have the “pack” operation in this section that runs the actual algorithm.
When do I use UVP?
If you have read the Definitive guide to UV Mapping article I outline a few different workflows. UVP is useful in all workflows where you need a UV Map that is contained within the non-overlapping area also known as the 1001 space with UDIM terms. Be it texture painting, optimization with baking or a workflow involved with an application other than Blender.
UV Packmaster 2 support
There are two support channels for UV Packamaster. The first being through e-mail, and the second is via a thread on blenderartists.org. I have not needed to test the support but looking at the Blenderartists thread it is easy to conclude that the add-on author answers mostly the same day or at least within a couple of days. Very reasonable given that it seems to be mostly one person behind the add-on.
The Blenderartists thread also seems to be holding the history of the add-on. Looking through it I, for instance, found out that there is also an API library available for any developers wanting to integrate UVP into their own application. That is kind of neat and it makes me feel that there is a certain maturity to the add-on.
The cons of UV Packmaster
Ok, so that is a pretty objective rundown of what the add-on does. There are a few things that I think is missing or is just not as straight forward as it could be.
The biggest drawback of this add-on, in my opinion, is the interface. It could be much better laid out. To start off, just moving the operators to the top and outside any subgroup would be a major improvement.
Right now the operators are jumping up and down the interface as I open or close subsections depending on what part of the interface I need to reach. At the same time, the version number of the interface takes up prime space at the top of the interface along with packaging device settings and a basic options subsection that is very seldom accessed. To me, this just makes no sense.
A better approach would have been to put the operators at the top outside any subsection and then the advanced subsection right after that and move the settings related to rotation to the advanced section instead. Everything else could be moved into one section to declutter the interface.
Just think about it, when I am new to the addon, what would be better: Looking around in subsections of the addons interface and first while approaching the bottom of all the subsections almost with lost hope am I able to find a button to press that just says “pack”. It is the button at the very bottom of its subsection and quite close to the bottom of the entire addon. “Puh! thought it was broken!”
Or just open the UVpackmaster2 tab and see “Pack” at the very top, select my UV map and press it to have it instantly pack my UV map in a neat way. I would think, “Cool!” if that was the case. Now it is kind of meh.
Another con related to the interface is the help system. There is very little documentation on how the add-on works. The system itself is pretty neat, you can just go to the help section and click a button and the help text appears instantly. But there are only help text for a few features and no getting started guide or anything to get you going with the add-on.
Some of the time that I am able to save with this add-on is unfortunately lost while trying to understand the add-on itself and finding my way around thanks to the unfriendly help combined with the poor interface.
The last thing I think is missing is a way to set a timer for the heuristic search. I was led to believe that there was one but I could not find it in the interface.
The Pros of UV Packmaster
Enough ranting from me. Let’s get to the good stuff because I really think this add-on is awesome! First, compared to the default pack islands operation found in Blender this is just huge. I wish something like this was available by default in Blender but an add-on is the second-best thing.
When you have played with it for a while and learned how to use it you are just a few clicks away from setting it up based on your needs. The focus on speed from the developers are not that bad either. If you messed some setting up, you are just seconds away from your next test. Very nice for quickly iterate through possible packaging solutions. Just pack, change some settings, pack again and repeat for 2-3 times until you got what you need. If you ever end up with a worse result, no problem, just ctrl+z, and you are back on your previous pack layout.
Want some overlapping UV islands, no problem. Want to squeeze in some more UV islands in your UV map, no problem. Want to pack multiple objects together at once? It is just a breeze with this add-on combined with the multi-edit feature of 2.80.
This add-on has saved me so much time sitting and manually laying out UV maps it feels ridiculous how much time I spent on this before.
If you should only have one add-on related to UV mapping for Blender, this I think is it. It is that good, despite its UI problems.
Difference between the editions
The add-on comes in two variations. There are a standard and a pro. I tested both since the developer was kind to send me the standard version after having bought the pro so that I could compare the two. According to a comparison sheet on the add-on page, there are a few things that aren’t in the standard version. These are the features not in standard.
- Grouping islands
- Advanced heuristic algorithm
- UV Map validation
- Packing on GPU
- Heuristic search on all devices simultaneously, listed as experimental on Mac.
The overlapping islands lock is listed as well but seems to be in the standard edition. That is also confirmed on the Blenderartist support thread.
The things that had the greatest impact for me to choose the pro version were the grouping and UV Map validation. The UV Map validation alone is just pure gold. Press a button and know that your UV Map is ok. It is a very nice safety net.
I don’t know how many times I have accidentally brought some object into Substance Painter just to find out after having set things up that I had some small little error in the UV Map that I missed. That doesn’t happen any more thanks to this function.
I would always recommend going for the Pro version thanks to the validation function alone.
The grouping feature is very good as well. Especially when troubleshooting your UV Map and you have to look for a specific UV Island. It also looks nicer and makes texture painting a whole lot easier.
Despite a pretty poor interface UV Packmaster Pro 2 has come a long way. It is quick when calculating on CPU and even quicker when the GPU is used and so works well for speedy iterations between different layout possibilities.
It has a nice set of features to help you set up the UV Map the way you want with groupings and overlappings as well as accurate margins. I found it to be very stable, hitting an error only once or twice during my testing period but those were due to my own habit of clicking too many buttons rather than the add-on itself.
I gladly recommend UV Packmaster Pro 2 to anyone who is willing to accept a few UI thorns for a massive timesaver. The standard edition is good as well but in my opinion, it is not worth saving a few bucks over the Pro edition if you are going for the add-on anyway.
You can get the add-on here: UV Packmaster product page (Affiliate link)