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

This addon use margin instead of padding, I personally prefer padding (with it is more easier to calculate/catch the correct value based on uv resolution).

I wonder if it’s possible to automatically obtain the correct padding’s value based on a selected resolution (just like TexTools addon for Blender).

@DotBow

Just to clarify, by padding you mean the distance between packed islands and UV packing area, right? If so, I can add it to our TODO list.

@Tosky

Check the ‘Pixel Margin’ option - it might satisfy your needs.

1 Like

Yes. The idea is to have a possibility to manipulate padding between packed islands and UV area.
Here is the quick reference:

RELEASE 2.2.0:

New STANDARD and PRO edition features:

  • Save/Open Preset - UVP provides a ton of options now, so to improve user experience a preset system was added in this version - using the ‘Save Preset’ button you can write all current packer options to a file. At a later time use the ‘Open Preset’ button and select the given file in order to restore saved values.

  • Packing Box - you can now define a UV rectangle where islands should be packed to, so you are not limited to the default [0-1] UV square. You can specify the packing box by typing exact coordinates, you can also use the mouse cursor to draw the packing box directly in the UV editor.

PRO edition only features:

  • Per-Island Rotation Step - define a rotation step separately for every island. For example you can disable rotations entirely for specific islands while keeping the default rotation step for all other islands.

  • New grouping mode: Pack Groups to UDIM tiles - yes, Blender does not support UDIM yet, but UVP already provides UDIM packing options :slight_smile: In this mode, rather than packing all groups together, the add-on packs every group into a separate UDIM tile. Note that this new mode is compatible with other packer options like ‘Lock Overlapping’, ‘Heuristic Search’, ‘Pixel Margin’. This mode is also another case where add-on may take advantage of all packing devices installed in the system (CPU + all Cuda-enabled GPUs) - it can pack many groups at the same time - one group for a single packing device. In case of ‘Heuristic Search’ all devices will simultaneously handle packing of all groups repeatedly.

Minor changes:

  • ‘Search On All Devices’ option was renamed to ‘Use All Devices’ as now add-on may use all packing devices not only with heuristic search. The option was moved from the ‘Heuristc’ panel to the ‘Packing Devices’ panel.
  • fake ‘NO UV face selected’ error should be fixed now
  • slight interface refactoring - subpanel order has changed
  • improve compatibility with older Linux distributions
  • minor bug fixes

Also note, that despite Blender 2.8 was officially released, the new add-on version continues to fully support Blender 2.79.

Remember that you can test all new options without buying the product by downloading the demo version for free.

11 Likes

Fantastic stuff @glukoz , absolutely love your work.

1 Like

Yeah glokoz, this is a huge release! Just tried the Packing Box and it was a thing of beauty. Thank so much G! I just bought this dang thing the other day, and I am already blown away and thrilled with my purchase!

1 Like

Even UDIM support <3 , you get better and better.

Houdini has a “Texel Density Tool” related with packing , any chance to obtain a similar method with the current versions or future updates? https://vimeo.com/268221133

you may just want to try textools

Check the vimeo I linked, from the minute 01:15 to the end you’ll see what I mean.

Hi!
Can’t see new version, does something changed?

Gumroad… please check once again now, the new version should be in place.

Thanx, got it!

By the way, any reason why this option have maximum value of 16?
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

No, I can increase it in the next small update.

Is there a tutorial on how to do UV2 lightmaps with this?

Thank you for the updates!

For the new Box Pack section. How is that to be used exactly? Would you pack shells to a box. Then use the pack to others option to pack new islands to the box pack ones?

@vinnyvicious Is there anything specific in lightmaps in terms of packing? If not, then you can pack such UV map like any other map.

@Kickflipkid687 Yes, exactly. Remember that you can test the feature for free using the demo version.

I believe this has become the best uv packing solution in the entire industry, in terms of quality, features and speed. To think that about a year back I had to export my model out of Blender to achieve proper packing (unless I did it manually), while now I’m sure there are people exporting from other programs into Blender for this in particular :smile:
Needless to say - big thanks, glukoz!

2 Likes

Yes. I import from 3ds Max to pack now. Haha. Has saved me days of work very quickly for complex weapon unwraps.

1 Like

Hi there! Thank you so much for your work on this! I just downloaded v2.2.0 but when I try to install/enable it returns this error:

Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender\2.80\scripts\modules\addon_utils.py", line 351, in enable
    mod = __import__(module_name)
  File "C:\Users\Zach\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\uvpackmaster2\__init__.py", line 20, in <module>
    from .operator_islands import *
  File "C:\Users\Zach\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\uvpackmaster2\operator_islands.py", line 3, in <module>
    from .pack_context import *
  File "C:\Users\Zach\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\uvpackmaster2\pack_context.py", line 37, in <module>
    class RotStepIslandParamInfo(IslandParamInfo):
  File "C:\Users\Zach\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\uvpackmaster2\pack_context.py", line 44, in RotStepIslandParamInfo
    PARAM_IDX = UvIslandIntParams.ROTATION_STEP
NameError: name 'UvIslandIntParams' is not defined

Any idea whats going on here? Is it something quick I can fix myself? Or am I just using it wrong?
Thanks!

  • Remove the add-on
  • Reinstall
  • Restart Blender
  • Enable add-on

Check whether it works now - if not, then let me know.