User Guide: Pack
From UVLayout Docs
(Difference between revisions)
Revision as of 10:17, 25 February 2008 (edit) Headus (Talk | contribs) ← Previous diff |
Current revision (02:19, 18 October 2024) (edit) (undo) Headus (Talk | contribs) |
||
(51 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | {{:User Guide: Menu}} <div id="newbg"> {{New:bgn|v122}} [[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. |
- | ; New Box {{Pro2|pro6|User_Guide:_Move/Scale/Rotate#pro7}} : 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. | + | ; 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. '''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 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. | ||
- | ; Quality Fast/Mid/Best : You will get slightly tighter packing with '''Best''' selected, but '''Fast''' isn't too bad either, and its a lot faster. '''Mid''' is part way between these two. | + | ; 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. |
+ | |||
+ | ; 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. | ; 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. | ||
- | ; Bleed : The '''Bleed''' value controls the size of the gap left between shells after packing. This is a pixel value based on a 1k by 1k map. If, for example, you need an 8 pixel bleed region around each shell (i.e. 16 pixels ''between'' shells) on a 2k by 2k map, then a Bleed value here of 4 should be enough. | + | ; 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. | ||
+ | |||
+ | ; Map Rez : Specify here the resolution of the texture map you expect to use with the UVs. This in combination with the '''Bleed''' value determines the apparent size of the gap left between the shells after packing. | ||
+ | |||
+ | <div id="pro"><div id="pro9"></div> {{Pro3|pro9|User_Guide:_Move/Scale/Rotate#pro10}} | ||
+ | ; Rotate : Tick this and shells will be rotated by the selected degree increments to see if that gives better packing. It just randomly tries different combinations, so use the arrows to set the amount of time you want to let it run for. Use the '''|''' hotkey to lock or unlock the orientation of individual or select shells or boxes. Shells or boxes locked in this way won't be rotated, but can still be moved around during the packing. | ||
+ | |||
+ | : 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. | ||
+ | |||
+ | : 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. | ||
+ | |||
+ | </div> | ||
+ | |||
+ | <div id="hob"> {{Hob3}} | ||
+ | ; Rotate : As above, but the rotations are limited to 90 degree increments. | ||
+ | </div> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ; 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}} | ||
+ | |||
+ | ; Pack Selected Only : Only shells selected with the LMB will be packed. | ||
; 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. | ; 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. | ||
+ | |||
+ | ---- | ||
; 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. | ; 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. | ||
+ | |||
+ | ---- | ||
; 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 |
- | { or } : toggle box fixed/free status | + | * Note: No Rotation testing done. Use the "Pack All" button for that. |
- | \ : rotate box 90 degrees, or if no box is picked, rotates shells | + | { or } : toggle box fixed/free status |
- | Del : delete box | + | \ : 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 | ||
</pre> | </pre> | ||
- | {{New:end|v1.22|User Guide: About UVLayout}} </div> |
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 |