Fast UV island packing add-on for Blender.
Additional information can be found at: https://blenderartists.org/forum/showthread.php?420127-Addon-UV-packing
Use "Install Add-on from File..." in Blender User Preferences/Add-ons and navigate to the downloaded zip-file. Then turn it on in the add-ons tab.
Newer versions (Blender 2.80+) require installation of libraries, by pressing the button in the addon settings, after which you need to restart Blender.
Note: For MacOS, only unsigned versions of Blender 2.80 will work (pre-2.80 RC1 and all custom builds). Versions that are signed will not work (official blender.org releases RC1+).
Start/restart Blender and remove the addon by pressing the remove button in Preferences/Add-ons/Shotpacker.
- Working internet connection.
- Recent 64-bit system; Windows, MacOS, Ubuntu Linux.
If the UV islands have a lot of broken self overlapping geometry, the results are undefined. It's best to clean up the mesh before running packing. Sometimes Smart UV makes weird UV, and causes errors in Shotpacker, which can be fixed by running the Blender default internal packing algorithm first.
The add-on is located in UV/Image editor Tools tab under Shotpacker.
Island iterations determines how many vertical and horizontal locations are tried for each island in the packing algorithm. For example if this value is 100, then different locations tried for the island is 100 times 100 = 10000.
Rotation is rotation step. 0 is no rotation. 90 preserves texel orientation. For example 20 rotation means the island is rotated to 360/20=18 different positions at every checkpoint. 20 rotation also increases the running time 18x.
Mirror allows or disallows mirroring the island over an axis.
Margin how many pixels of free space island will have around itself. Distance between two islands is twice the margin. If the island size changes drastically during the packing, the margin can also change drastically, as it's measured at the start of the packing process. If you want more accurate margins, pack multiple times.
Island selection behavior options
Pack all packs everything not caring about what is selected.
Selected packs only selected but scales everything making it fit into the 0-1 UV area.
Ignore ignores everything that is not selected and simply packs selected treating the unselected as if they didn't exist.
Lock locks the unselected islands not moving them and trying to fit the selected islands into the cracks. If it doesn't find fit, the islands will go over the 0-1 UV area.
If turned on, keeps UV islands together when packing. Only use if you need to keep overlapping islands together.
Keeps trying new solutions. Can be stopped using escape key, or pressing mouse button. Saves the best solution it finds, doesn't change anything if no better solution found. Will automatically end after running a scan and no new better solutions found.
When you're satisfied with parameters, just click Pack to start the algorithm.
You can optionally turn on Blender console (Main Menu > Window > Toggle System Console) to see what the add-on is doing in a more verbose form.