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

Currently there is no possibility for island scaling in the ‘Pack to Others’ mode - islands are always packed with a fixed scale in such case. But I have a good news for you: I am currently working hard on this functionality and it should be available in the next release (I wrote ‘hard’ because such option is not as straightforward to implement as it seems to be, but I am on a good path to have it implemented :slight_smile: )

4 Likes

Let’s say I have Blender in my portable HDD, is there a way to have the path already assigned?
image

Instead of having to link it everytime I work on a different PC, It happened to me many times before and Idk how to go about relative paths.
Thanks

Currently add-on uses an absolute path only. I will try to mitigate this problem in the next release.

2 Likes

Feature suggestion:
Select Islands inside of Packing Box
Group objects near each other
Move Packing Box by 1 with Arrow Keys
Create a Packing Box based on Selection’s bounding box (square or rect)
Draw a square Packing Box

2 Likes

Hello
Great Addon! Thank you for developing!
Very useful
I want to say about some things
Would you like to switch gdisk to gitlab (github)?
I think that this will not cause problems for the artists-users
Separating engine is good idea, but selecting path mus be in Pref > Addons menu, not in UV editor,
because i must to save path as default prefs
Hope you like my minds

1 Like

@glukoz
is there a way to prioritize faces of the same mesh to pack into same tile in "pack mode (Tiles Fix scale) " ?
I was hoping to have uv islands of the same mesh packed in one tile, but not in several tiles. see the screen capture below, there are 9 cubes, and packed into tiles nicely, but several cubes’ face are packed into mutiple uv tiles.

here is what I hope to achieve:
I have chose the texture size and scaled multiple meshes’ UV to have the same texture density, each mesh need to have ONLY one texture ( draw call purpose, laying across multiple UV tiles would need more than one texture), for the left over meshes in the end tile, I would scale them down just a bit so that I can use “pack to others” to selected front tile. in the end any given mesh reside in one tile, one texture is needed and texture density remain roughly the same for all meshes.

thank you .

Set packing mode to ‘Groups To Tiles’, grouping method to ‘Object’ (or ‘Mesh Parts’ depending on your setup), also check the ‘Post-Scaling Disable’ option. Then pack. Let me know whether it worked for your scenario.

here is a quick test:

(edit: it was done in 2.79 with muti object uv edit script. quick test in 2.81, method object and mesh parts have similar result, see result a couple of posts below)

with many more mesh parts, the pack would be tighter. the goal is to pack one mesh into one tile, if there is not enough space, send me to the next tile, please don’t chop me up into pieces and fill several buckets. :innocent:
I wish a one click solution, but with existing features, it still can be done with a few more clicks.

You only have 1 Object, you need to separate the mesh parts out to different objects for the Group by Object to work. Also increase the Tiles per Row number to keep everything in 1 row

although they are separated meshes,I used muti object UV edit in 2.79, it looks like the addon combine them together and then copy changes back to each mesh.
till I find a better work flow. my work around is to use “group to tile (mesh parts)” to lay them out, smaller roll number will make them 2 x 4 layout instead of 1 x 8 (easier to select). then use “pack to other” to fill in each tiles.

Ah, didn’t realize you were using 2.79. Multi object in 2.8 doesn’t combine objects.

quick test in 2.81. it looks like method object or mesh parts have similar result.
81

Just to summarize:

  • when using the Object grouping method the UV islands belonging to same 3D object are treated as a single group. This method is useless in Blender 2.79 because this version does not support editing many objects at the same time.

  • when using the Mesh Parts method the UV islands which correspond to same joint piece of 3D geometry are treated as a single group.

Yay, UDIMs are finally here, so please, can you teach Packmaster to not cross the boundaries of them?
Thanks!

UVP should not cross boundaries of UDIM tiles. Could you provide some more details about your setup? Maybe send a blend file?

Sure thingsphereudimPackmaster.rar|attachment (161.3 KB)

Oh, so you don’t have to enable Packing box? Then it works marvelously, thanks!

(Yes, I indented to put every island on it’s own tile)

Yes, when you pack to tiles with the packing box feature enabled, then the packing box determines the first UDIM tile. Other tiles just follow the first one accordingly.

1 Like

@glukoz
Hello, i’m about to buy the addon, but i wanted to know two things.

  • Why does gumroad asks me for my postal informations during checkout
  • Will there be a discount for xmas / new year ?
    Thanks :slight_smile:

Gumroad needs to know your address to know whether or not you live somewhere that charges taxes for online purchases and if you’re paying with a card to ensure that you didn’t just steal the card info.

hello the “free” version are you still gonna leave it to render rather than apply the uv packing :face_with_raised_eyebrow: :angry:??!!