User Guide: Pack
From UVLayout Docs
(Difference between revisions)
Revision as of 06:42, 21 October 2016 (edit) Headus (Talk | contribs) ← Previous diff |
Current revision (02:19, 18 October 2024) (edit) (undo) Headus (Talk | contribs) |
||
(16 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | {{:User Guide: Menu}} [[Image:UserGuide-Pack.png|right|]] Open up the '''Pack''' panel to find tools for the tight packing of UV shells to minimize empty texture space. Currently shells are only moved around in this process, so you may need to rotate some by hand for optimum packing. | + | {{:User Guide: Menu}} [[Image:UserGuide-Pack.png|right|]] Open up the '''Pack''' panel to find tools for the tight packing of UV shells to minimize empty texture space. |
+ | |||
+ | ---- | ||
- | <br><br><div id="pro"><div id="pro8"></div> {{Pro3|pro8|User_Guide:_Pack#pro9}} | ||
; New Box : This creates a new packing box around any picked shells. Shells can be place in or taken out of an existing box simply by dragging them with the usual Space-MMB combination. Use the '''Del''' hotkey to delete a box; moving all of the shells outside of a box will also delete it. Click on '''Delete All''' to delete all boxes. | ; New Box : This creates a new packing box around any picked shells. Shells can be place in or taken out of an existing box simply by dragging them with the usual Space-MMB combination. Use the '''Del''' hotkey to delete a box; moving all of the shells outside of a box will also delete it. Click on '''Delete All''' to delete all boxes. | ||
- | : Use the '''[''' or ''']''' hotkeys to repack the box under the mouse pointer. If no box is under the mouse pointer, then all shells and boxes will be packed into the 0-to-1 texture square. | + | : Use the '''[''' or ''']''' hotkeys to repack the box under the mouse pointer. If no box is under the mouse pointer, then all shells and boxes will be packed into the 0-to-1 texture square. '''Note:''' No Rotation testing is done. Use the "Pack All" button (see below) if you've enabled that option. |
: A box (and its contents) can be moved around using the Space-MMB combination on one of its corner handles. It can be reshaped using Ctrl-MMB on one of these handles; this will also repack that box. Use the '''\''' hotkey to rotate a box by 90 degrees. | : A box (and its contents) can be moved around using the Space-MMB combination on one of its corner handles. It can be reshaped using Ctrl-MMB on one of these handles; this will also repack that box. Use the '''\''' hotkey to rotate a box by 90 degrees. | ||
- | : Select boxes by clicking on one of their corner handles, and they can then be rotated, moved or scaled with the usual Space LMB/MMB/RMB combinations. Selected boxes can also be transformed from the Move/Scale/Rotate panel buttons. | + | : Select boxes by clicking on one of their corner handles, and they can then be moved or scaled with the usual Space MMB/RMB combinations. Selected boxes can also be transformed from the Move/Scale/Rotate panel buttons. |
: By default, boxes are '''free''', meaning they will be moved around as required during the packing process. You can '''fix''' a box's position with the '''{''' or '''}''' hotkey; this will turn it from green to blue. Other shells and boxes will then be packed around that box, but it wont be moved itself. Use the same hotkey if you want to toggle it back to '''free''' moving. | : By default, boxes are '''free''', meaning they will be moved around as required during the packing process. You can '''fix''' a box's position with the '''{''' or '''}''' hotkey; this will turn it from green to blue. Other shells and boxes will then be packed around that box, but it wont be moved itself. Use the same hotkey if you want to toggle it back to '''free''' moving. | ||
; Box and Lock Overlapping : If you have overlapping shells that you want to keep together during packing, then click this button and they will all be boxed and locked. Be default all visible shells will be checked, but if you LMB select any first, then only those selected shells will be processed. | ; Box and Lock Overlapping : If you have overlapping shells that you want to keep together during packing, then click this button and they will all be boxed and locked. Be default all visible shells will be checked, but if you LMB select any first, then only those selected shells will be processed. | ||
- | </div> | + | |
+ | ; Unstack Overlapping : If you have overlapping shells, but don't want them to be, then click this button and they will be moved across, then up if need be, to empty locations in adjacent UV tiles. Its different to the normal packing because shells don't change their relative positions within tiles with this tool. By default all visible shells will be moved, but you can LMB select to limit the action to just the selected shells. If the packing tool's '''Tile U''' dimension is greater than 1, then that is the maximum width of tiles unstacked to, otherwise the Display '''Max U''' setting is used. | ||
+ | |||
+ | ; Allow Box Overlaps : Sometimes space will be left inside a box after packing. Ticking this option will allow other boxes or shells to use this empty space during global packing operations. | ||
+ | |||
+ | ; Shrink Boxes To Fit : Tick this to shrink wrap boxes around the contents after packing. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ; Tile : If you want your shells and boxes packed across multiple tiles, specify the dimensions of that tile grid here. Try not to make the grid arbitrarily large (e.g. 100 x 1) if smaller values will do, as this will reduce the precision/tightness of the packing. | ||
+ | |||
+ | ; Lock All To Tile : Shells wont be moved outside of their current tile during packing. Ticking this option affects all shells, or you can use the '''#''' hotkey to apply the locking selectively to shells and boxes. | ||
+ | |||
+ | ; Don't Resize Tiles : By default, UVLayout will uniformly enlarge or shrink the UV tiles to minimize the amount of empty space left after packing. Tick this if you don't want the tiles resized. | ||
+ | |||
+ | ; Pack Tiles : If you have shells spread over many tiles with empty tiles between or lots of empty space within them, this tool can quickly compact everything. Its different to the normal packing because shells don't change their relative positions within tiles with this tool. Be default all visible shells will be moved, but you can LMB select to limit the action to just the selected shells. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ; Bleed : The '''Bleed''' value controls the size of the gap left between shells after packing. You can select between pixels or real world units (for pattern making applications). | ||
+ | |||
+ | ; Show Shell Bleeds : Tick this to see a visual indicator of the pixel bleed region around each shell. If you want to manually position shells, this is a good way ensure there's enough gap left between them. | ||
+ | |||
+ | ---- | ||
; Quality Fast/Mid/Best : You will get tighter packing with '''Best''' selected, but '''Fast''' isn't too bad either, and its a lot faster. '''Mid''' is part way between these two. | ; Quality Fast/Mid/Best : You will get tighter packing with '''Best''' selected, but '''Fast''' isn't too bad either, and its a lot faster. '''Mid''' is part way between these two. | ||
Line 23: | Line 47: | ||
: As you reduce the degree increments (e.g. from 90 to 45) then the number of possible shell position and rotation combinations grows exponentially, so it will take a lot longer to find the best packing solutions. This tool will utilize multiple CPU cores though, so the more of those you have, the greater the chance that better packing solutions will be found in the allotted time. | : As you reduce the degree increments (e.g. from 90 to 45) then the number of possible shell position and rotation combinations grows exponentially, so it will take a lot longer to find the best packing solutions. This tool will utilize multiple CPU cores though, so the more of those you have, the greater the chance that better packing solutions will be found in the allotted time. | ||
- | |||
- | : The special case of '''0''' degree increments actually does no rotation, but still randomly shuffles the order that shells are packed. Normally shells are packed from largest to smallest, but sometimes randomly selecting shells using this '''0''' degree rotation mode can find better packing solutions. | ||
: Be careful though about running this for extended periods on systems with poor cooling, such as laptops. Consider running it for double the amount of time, but use the '''Free CPU Cores''' preference to halve the number of CPU cores utilized. | : Be careful though about running this for extended periods on systems with poor cooling, such as laptops. Consider running it for double the amount of time, but use the '''Free CPU Cores''' preference to halve the number of CPU cores utilized. | ||
+ | |||
+ | : The special case of '''0''' degree increments actually does no rotation, but still randomly shuffles the order that shells are packed. Normally shells are packed from largest to smallest, but sometimes randomly selecting shells using this '''0''' degree rotation mode can find better packing solutions. | ||
: Regardless of if you have auto save turned on or not, if run for more than a minute, the packing rotation tool will make an auto save of each next best packing solution. This means you can set it off before going to lunch say, then be confident that in the event of a software crash or power failure, you will be able to load the last best solution. | : Regardless of if you have auto save turned on or not, if run for more than a minute, the packing rotation tool will make an auto save of each next best packing solution. This means you can set it off before going to lunch say, then be confident that in the event of a software crash or power failure, you will be able to load the last best solution. | ||
Line 32: | Line 56: | ||
</div> | </div> | ||
- | ; Tile : If you want your shells and boxes packed across multiple tiles, specify the dimensions of that tile grid here. Try not to make the grid arbitrarily large (e.g. 100 x 1) if smaller values will do, as this will reduce the precision/tightness of the packing. | + | <div id="hob"> {{Hob3}} |
+ | ; Rotate : As above, but the rotations are limited to 90 degree increments. | ||
+ | </div> | ||
- | ; Bleed : The '''Bleed''' value controls the pixel size of the gap left between shells after packing. | + | ---- |
- | ; Pack All : Clicking on '''Pack All''' will repack the contents of all boxes, then packs everything into the 0-to-1 texture square or tile grid. You might do this if you have changed the '''Bleed''' setting and want to apply that across all shells and boxes. | + | ; Use Trace Mask : This option allows you to load a black and white Display Trace image as a mask for packing shells into the UV square. Shells will be packed into the white areas, and black areas will be left empty. {{Eg|Pack Mask}} |
- | ; Show Tile Coverage : Tick this to show, after packing, a percentage covered value at the top of each tile. The higher this number the better, indicating less empty wasted space. | + | ; Allow Wrapping : This option packs everything into the 0 to 1 tile but will allow shells to extend over the boundary of the tile if they wrap around into space on the opposite side. To check the results, tick the '''Show Repeats''' option under the '''Display''' tab. {{Eg|Pack Wrap}} |
- | ; Show Shell Bleeds : Tick this to see a visual indicator of the pixel bleed region around each shell. If you want to manually position shells, this is a good way ensure there's enough gap left between them. | + | ; Pack Selected Only : Only shells selected with the LMB will be packed. |
- | ; Allow Box Overlaps : Sometimes space will be left inside a box after packing. Ticking this option will allow other boxes or shells to use this empty space during global packing operations. | + | ; Pack All : Clicking on '''Pack All''' will repack the contents of all boxes, then packs everything into the 0-to-1 texture square or tile grid. You might do this if you have changed the '''Bleed''' setting and want to apply that across all shells and boxes. |
- | ; Shrink Boxes To Fit : Tick this to shrink wrap boxes around the contents after packing. | + | ---- |
- | ; Don't Resize Shells : By default, UVLayout will uniformly enlarge or shrink all the UV shells to minimize the amount of empty space left after packing. Tick this if you don't want the shells resized. | + | ; Show Tile Coverage : Tick this to show, after packing, a percentage covered value at the top of each tile. The higher this number the better, indicating less empty wasted space. |
- | ; Lock All To Tile : Shells wont be moved outside of their current tile during packing. Ticking this option affects all shells, or you can use the '''#''' hotkey to apply the locking selectively to shells and boxes. | + | ---- |
- | + | ||
- | ; Pack Selected Only : Only shells selected with the LMB will be packed. | + | |
- | + | ||
- | ; Use Trace Mask : This option allows you to load a black and white Display Trace image as a mask for packing shells into the UV square. Shells will be packed into the white areas, and black areas will be left empty. {{Eg|Pack Mask}} | + | |
- | + | ||
- | ; Allow Wrapping : This option packs everything into the 0 to 1 tile but will allow shells to extend over the boundary of the tile if they wrap around into space on the opposite side. To check the results, tick the '''Show Repeats''' option under the '''Display''' tab. {{Eg|Pack Wrap}} | + | |
; Hotkeys : | ; Hotkeys : | ||
<pre> | <pre> | ||
[ or ] : pack shells in box, or if no box is picked, packs all shells | [ or ] : pack shells in box, or if no box is picked, packs all shells | ||
+ | * Note: No Rotation testing done. Use the "Pack All" button for that. | ||
{ or } : toggle box fixed/free status | { or } : toggle box fixed/free status | ||
- | \ : rotate box 90 degrees, or if no box is picked, rotates shells | + | \ : rotate box, shell or tile 90 degrees |
- | Ctrl-\ : rotate shell, not surrounding box | + | Ctrl-\ : rotate shell inside a box |
Del : delete box | Del : delete box | ||
| : toggle orientation lock for shell, selected shells or box | | : toggle orientation lock for shell, selected shells or box |
Current revision
|
Open up the Pack panel to find tools for the tight packing of UV shells to minimize empty texture space.
[Professional Version Only]
[Hobbyist Version Only]
[ or ] : pack shells in box, or if no box is picked, packs all shells * Note: No Rotation testing done. Use the "Pack All" button for that. { or } : toggle box fixed/free status \ : rotate box, shell or tile 90 degrees Ctrl-\ : rotate shell inside a box Del : delete box | : toggle orientation lock for shell, selected shells or box Pad 1/3/7/9 : toggle corner preference for shell, selected shells or box # : toggle tile lock for shell, selected shells or box |