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

Thanks a lot! It was so easy!

1 Like

Yes, as impacman already said, UVPM keeps relative proportions between UV islands by default.

Refer to this page in the documentation for more details - it describes all the cases when proportions are not guaranteed to be maintained (‘Normalize Islands’ checkbox is not the only example).

3 Likes

OT: Ah, some of your shapes make me wanna play the original Elite to fly the Cobra MK3 again on my old C64^^
Hrhr. (Oh look, a cute nice little Trumble in my cargo hold!)

Hey @glukoz !
Is there way to disable drawing for packing box? or make it thinner when zoomed out
UPD: would be great if you exposed some parameters in user prefs such as line width and color maybe

class BoxRenderer(OverlayManager):

    LINE_WIDTH = 1.0

image

Thank you for the suggestion - we will expose this parameter in the next release. BTW: it will be available soon :slight_smile:

3 Likes

Any progress in the linux version?

Yes, the Linux version will be introduced in the next release :slight_smile:

1 Like

RELEASE 3.0.6

General improvements:

  • Linux support. For more info regarding Linux-specific requirements visit the documentation

  • New packing mode: Groups Independently - useful when you want to process many UVs in a batch. Read this page to learn more.

  • New parameter in the Pixel Margin subpanel: Extra Margin To Others - specifies an additional pixel margin between islands being packed and the other islands (unselected islands when using the Pack To Others mode). In result the final margin between these islands will be calculated using the formula: Pixel Margin + Extra Margin To Others. When using the Groups To Tiles mode and packing two groups into the same UV space, the islands from the other group are also treated as Others. It means that the Extra Margin To Others parameter will also be taken into account when calculating the margin between islands belonging to different groups.

  • Reimplement the operation to select/deselect all islands in the active box:
    image

  • New addon general option: Box Border Width - determines the width of box borders rendered in the UV editor during the operation

  • New addon general option: Append Mode To Operator Name - this option should only be enabled temporarily, only for the time when you want to add an UVPackmaster operator to Quick Favorites. If you add an operator with this option enabled, the selected mode name will be permanently appended to the operator name in the Quick Favorites list. After the operator was added, you can disable this option immediately.

  • You will find the general addon options when you expand the engine status panel (the top-most panel):
    image

  • Minor user experience improvements

Improvements for the Groups To Tiles mode:

  • Ability to override selected global options for particular groups when using a grouping scheme (manual grouping):
    image

  • New automatic group layout modes: AUTOMATIC (VERTICAL), AUTOMATIC (HORIZONTAL). Visit this page for a visual presentation of the new modes.

  • New parameter Tile Count Per Group - specify tile count per group when using an automatic grouping method.

Bug fixing:

  • Fix for a bug when using Fixed Scale in the Groups To Tiles mode.

  • Fix for disabling particular packing devices in the addon preferences.

  • Other minor bugs fixed.

19 Likes

Linux support!
Very happy!
@glukoz thank you!

and we need python-3.10 support for blender-3.2! )))

2 Likes

You welcome :wink:

Update for the Linux users: yesterday we prepared another engine variant for Linux, which lowers glibc requirements to version 2.17. It will allow to run UVPM on even older distributions (including CentOS 7). New variant installer is named: uvpm-engine-pro-3.0.6-linux-x86_64-glibc-2.17.run.

Of course you can ignore this, if you are on Windows, or if the original Linux variant worked on your distro.

3 Likes

SQUEAL!

…plus more characters.

1 Like

I’m having a bit of a problem installing the addon. I followed the FAQ linked to in the readme, downloaded all the appropriate files, set the .run file to execute, and sudo fired it off in the terminal.

It kicks off with an EULA, then does nothing when it reaches the end. I checked to see if it silently dropped anything into /opt, but nothing’s there. The script sits there from that point on, not prompting me with anything but an END. It hasn’t crashed, or isn’t frozen. I can still hit enter or spacebar, but all that does is scroll down the terminal window.

What simple thing am I missing here?

It’s probably a bug in makeself (a tool used to create the installation script). Write me at [email protected] to further investigate the issue.

1 Like

Thanks again for the help, man. :smiley:

You welcome :slight_smile:

Info for other users who may experience the same issue on Linux: after investigation it turned out that the workaround for the problem is to press the Q button after the end of the EULA is reached by the script - then the license acceptance question should be displayed in the terminal.

1 Like

Hello @glukoz
Very useful addon! Thank you for developing.
Can you help to answer on my question?
This is cool option - Group Together


But it packs only to first tile.
How to packing to several tiles with Togerer option?
I try to use Target box, but it lost tile borders.

In result i want to get this 4 tiles, but more packed with Together objects.

Hello @glucoz is it possible to add this feature for the custom box packing? i want to pack in a specific area the selected uvs with the target box, but i get a square packing of course, instead i want the islands to fit the space specified in the box but that the packer can automatically identify any non-selected uv islands, so then it cant overlap with the other uv islands…

also a good idea instead would be having some kind of lasso selection as target besides of box packing as well…


Hello @glukoz
I found a temporary solution with Target Box
(by the way, Its will be usefull to have possible to set individual tiles to packing)
And I set individual 3 and 4 tile to pack by Target Box


But Target Box merge 3 and 4 tile to one without tile border.
As solution i use a plane restangle

A dirty way)))

1 Like

All you have to do in your case is to press Pack To Others instead of Pack. Pack To Others is fully compatible with the custom target box (no matter whether the box is a square or not).

2 Likes

Let me clarify: what you want to achieve is to pack UV groups to many tiles (respecting tile borders), so that islands belonging to the same group have to be neighbors in the result (similarly when using the Groups Together mode). Is that correct?

2 Likes