UV packing

yes, you have right i wasnt aware that there is new version thanks! .18 fixed it

1 Like

I used this a lot in 2.79, but forgot about it for awhile. Now I’m trying to install in 2.8, and no matter what version I use (of Blender or Shotpacker), I get this error when trying to install libraries:

I tried looking back in this thread and couldn’t find anything that I could proactively do to try to get around this. Any help would be appreciated as this was an amazing plugin that I’d like to be using again.

The Blender devs changed how Python paths and library installs work recently. You should be able to use Blender 2.82 and Shotpacker 2.0.16 or the latest Blender LTS and Shotpacker 2.0.18. Please let me know if you have any further issues.

Thank you for the quick reply, and for continuing to support this plugin! Blender LTS and Shotpacker 2.0.18 did the trick. Though it was weird and threw the error that Alex_Che posted previously when I first tried to install. Upon restarting it’s all working. Thank you again!

1 Like

Hey, I been using this addon for long time, and it’s awesome, but I have one problem and its when I try to pack uvs for textures with sizes 2048x4096 or any other non square space. It looks like It works on some UV islands but not all, this is tried while doing Multi Object selection Packing. You can see In the image that some Uv islands are scaled Accordingly but others not :frowning: is this can be fixed ?

Have you applied scale on all the objects?

Yes, they all have applied scale and rotation. I m checking now maybe its because I use 1 to 1 aspect ration but I hoped that it will be smart enough and pack in 1 to 1 as if it is 1 to 2

It should be able to pack in non 1:1 ratios. I just have to understand what’s going wrong exactly before I can fix it.

I cant share this model sadly, but I can try to replicate this with simple cubes.

Thank you that would be very helpful.

Basically yes , it for some reason does this , all items on other side of diagonal is affected by bu 1:2 and other is 1:1

[UVpackTest.blend1|UVpackTest.blend (2.6 MB)

Are you using version 2.0.18?

Yes, updated today.

Ok, thanks for the .blend. I can replicate the bug and now can look into it.

1 Like

Initial testing seems to point to it’s working as intended. Blender UV method is not immediately obvious and as you handle non 1:1 textures, the U and V coordinates are uneven. The UV space is always 0 to 1 on every dimension, no matter the texture resolution. Thus, if your texture is 512x1024, the 1 U location is at 512, and the 1 V location is at 1024.

So, if your texture setting is at 512x1024, it means you have more data in the Y dimension of the texture, thus need to “squash” the UV before packing to make the data compatible for how Blender handles it.

I don’t think there’s official support for packing in Blender for ratios that aren’t 1:1. I tried with 512x1024 and the default packing doesn’t work. Create a 512x1024 and try packing it, it also creates distorted UV.

Shotpacker should work normally with 512x1024 textures if you create the texture first. It should detect the texture dimension and pack it correctly. It doesn’t always fill the entire space, so click the “keep iterating” option.

If you don’t have an active texture, before packing, you have to manually scale the UV space to match your texture, so for example if you have a 512x1024 texture, you have to scale the Y dimension with 512/1024=1/2, to make it read the data correctly.

Once you pack it, it will look squashed, but actually isn’t, as the UV space [0-1, 0-1] matches the entire texture space, which in this case doesn’t have equal ratio, thus in the UV space it will look squashed.

The problem where your UV islands seemed to display differently, was caused by the mismatch on how the data was read and how it was displayed.

If you have any more issues, suggestions or questions, let me know.

tl;dr: Use a texture, not just empty UV

Hmm I would try with texture, but problem is that if I now change texture to 512x1024 then all UV islands are scaled and I would need to Reunwrap whole model again :frowning: , I cant seem to find a way to preserve 1:1 Uv island scale when changing to 512x1024 texture maybe you can make some tool for this type of situation , where I could press button to preserve Aspect ratio of already Unwarped islands ?

You can simply scale the UV back manually. Just select all and press S, press Y, then type 0.5. Of course, if there is a way to make this more simplified, I would create functionality for it, but I think this is just inherent complexity of how UV mapping works and how Blender handles the data.

I just tested and you are right, If I provide texture with target aspect ratio, Shotpacker does its job correctly I will keep this in mind for Future. And yes there is a lot to be desired in Blenders UV unwrapping … Thank you for fast support :slight_smile:

1 Like

Hello, I’m running Blender 2.9.0 on Windows 10 64. RTX 2070 and Ryzen 7. Shotpacker has hung while working. I’ve quit out of Blender and restarted it. I try quitting from the add on and I get "Error Shotpacker already running. Hitting escape or the button does not stop shotpacker or allow it to start.
Quitting and restarting Blender does not end the addon.
How do I stop this happening or end the process so I can start again without rebooting the machine?

end the process in the task manager…