[UV Packmaster] Efficient UV packing solution for Blender (C++ based, multithreaded)

I’ve two questions about UV Packmaster.

What the benefit of UV Packmaster compared to the free UV Packer?

Do you charge again for version 3? Or is UV Packmaster like most Blender addons over all major versions free?

Let me list some UVPackmaster features which are not available in UV-Packer:

  • pack new islands to an existing packing (with automatic detection of optimal scale)
  • advanced UV grouping options (group automatically by misc mesh features or manually)
  • pack every to group to a separate UDIM tile or pack all groups to the same tile so that every group covers its own space in the tile
  • define not only the distance between UV islands but also the distance between UV islands and the tile borders independently
  • set rotation step independently for every UV island
  • UVPackmaster is not only a packing tool but also a tool for UV island aligning: you can automatically stack islands which are similar on the top of each other
  • lock stacked islands together (so they are not split during packing)
  • define lock groups - islands belonging to the same group will be packed together even if they are not stacked (their relative position will be maintained during packing)
  • pack also on Cuda-enabled GPUs - packs much more faster than any algorithm that runs on a CPU.
  • perform heuristic search - iterate packing on all devices in the system simultaneously (CPU and all GPUs) to find the best possible packing

Those were the main differences, I guess you could find a few more :wink: If you prefer to check more visual representations of the features mentioned above, I recommend you to look at the slide show included on our site.

Now regarding UVPackmaster 3: I haven’t decided yet whether the UVP2 → UVP3 upgrade will be free or paid but please keep in mind a few things:

  • one of our main assumptions that we follow since the beginning of the project is that even if an upgrade is paid, then the user only has to pay at most the difference between the new price and the price he already paid. So if you purchase UVP2 now, you can be sure that no a single penny you spent on it will be lost in the context of upgrading to UVP3.
  • even if the upgrade is paid, UVP2 will be maintained and kept up to date with new versions of Blender for the years to come (we definitely don’t want to force anybody to upgrade)
  • such major updates (which are possibly paid) are very rare in the project. After we do such an update to a new major version, we improve it for a long time with many non-trivial releases which are free for every user. You can check the list of all such releases which significantly improved UVP2 over time here.
6 Likes

hello @glukoz , is it possible to distribute UVs into separate UDIM tiles based on objects or materials, but have them keep their original position from the first tile?

I tried using packing groups to tiles, with rotation disabled, fixed scale with the different strategies, but I could not get the desired result.

See what I mean here with 3 objects:

thank you

1 Like

Hi!

Such option is not currently possible, because UV packing generally involves changing island positions and UVP2 is mainly a UV packing tool, but… it might change future releases - stay tuned :wink:

5 Likes

One feature that I just thought about, that would be awesome, is some way to orient islands according to the mesh…

Very often, when I do an unwrap via hard edges/etc, the islands are all rotated randomly. I can do some alignment things, with Textools/etc, but they are still random.

It would be awesome if there was a way to orient islands to more closely match the mesh if at all possible. So faces that are broken up by seams/hard edges, next to each other in the mesh, are not flipped/reversed in the UV. Without having to do so much manual rotations/fixups.

Edit: Basically if a tool / button can somehow take the first image and get more like the 2nd.

11 Likes

I agree with you - such a feature is totally worth adding to the plugin :slight_smile:

11 Likes

What about colouring/metal/materials. Let’s say there are 4 materials/colouring. We could group these islands into 4 groups that have the same colouring or material.

that could work better for some people. I had thought of this a long time ago.

Hi @glukoz!
I’ve been using PRO version of the addon for some time now, and overall its great! I have one thing to report tho.
With CPU packing I can see that the threads are occupied pretty evenly across, but the average utilisation of the CPU is around 40%. I don’t know if this is a hard limitation, or just something that can be optimised further.

Hi! There is no hard limitation for CPU usage. Please send me a screenshot of the UV map and the packer options you use in that scenario to [email protected].

Exactly what I was looking and hoping for! Happy to see this idea was posted recently.
I checked lot’s of uv scripts/addons and none of them seems to support a function that orients islands according to mesh geometry in object space automatically/per click.
Would be very useful both within the packing algorithm and as a separate button to orient selected islands.

1 Like

Hi

Is there any chance to add possibly to set padding between material IDs? (as a addition to regular padding and margin)

Hi!

You mean about a scenario when you pack many islands assigned to different materials to a single UV space? And the distance between islands after packing should be different depending on the material the given islands are assigned to?

If so, what should be the distance between two neighbor islands if they are assigned to different materials?

Hi

Exactly. I’ve workflow where I have to keep 4px padding between islands and 8-10px between different colors.

I use many tricks to do this on easy way so far. But additonal option in Packmaster could be very usefull

2 Likes

I’d like this feature too, as I do the same. Especially useful when working with small map sizes, mipmapping causes havoc with low pixel padding but at the same time you don’t have the pixels to spare.

1 Like

That would be a really nice feature to have, to separate setting for regular padding and between material groups. It would save time to adjust it by hand.

2 Likes

Thank you all for comments. I definitely like the idea to have such a feature in UVPackmaster :slight_smile:

2 Likes

is it possible to “attach” the textures when doing the packing? it could be a 3.0 feature. for example: image-asset

2 Likes

Hi! I will consider adding such a feature (BTW: it would be a really huge feature indeed :slight_smile: )

3 Likes

This atlasing feature will be a killer feature. +1

I thought this was in, but it seems not: Can you make a feature like the rotation step per island, but for scaling? So the ‘auto scale’ option can be left on, but certain islands (bits that are rarely seen or need less texel density) can be scaled to a certain percentage of the rest?

2 Likes