3ds Max Plugin
UVPackmaster 2 is an efficient and fully-featured UV packing engine available also as a plugin for 3ds Max. Its robustness comes from the fact that it was written in C++ and runs as a multi-threaded application.
You can purchase the plugin at gumroad:
UVPackmaster in 3ds Max is implemented as modifier - in order to pack a UV map the user needs to add the UVP modifier to the object modifier stack, select appropriate packing options (or load the options from a preset file) and press the Pack button. The UVP engine will pack the UV map and render the result to the user in a separate window. After the user closes the window, the modifier will remember the packing result in its own structure and it will apply it the original UV map every time it is instructed by 3ds Max to modify the object. The user can press the Pack button multiple times, changing the options according to their needs. Every time the button is pressed, the previous packing result is discarded and the original UV map is packed once again using a new set of the packing parameters. In order to apply the packed UV map to the object permanently, the user simply needs to collapse the UVP modifier.
Why is UVPackmaster worth buying?
First of all UVPackmaster is probably the most speedy packer out there. It can pack a UV map consisting of 1000 islands in about a second on 2-core i5 CPU. If the number of cores in your CPU grows the packer is getting even faster, due to our sophisticated algorithm which always make use of all cores, no matter what packing parameters are. And it was about packing on CPU. Note that with UVPackmaster you can also pack on Cuda-enabled GPUs - then it totally outperforms all other packing solutions available.
Secondly UVPackmaster is a fully featured add-on. It supports: heuristic search, locking overlapping islands, packing to other islands, island grouping, UDIM support, aligning islands of a similar shape, packing for a texture of any ratio and UV map validation.
Why is packing speed important?
One might actually ask: why is speed so important? Does it really matter whether a UV map is packed in 1 second or in 4 seconds? 4 seconds is not a long time to wait at all. The point is that in case of many UV maps a single packing run will give you a good result (with decent coverage), but it won't be the most optimal one. In order to achieve really tightly packed UV map one needs to iterate packing many times, using random modifications to the process at every iteration and storing the best result found (so called heuristic search). This is the case when the time needed to perform single packing iteration becomes crucial - the shorter the time of single iteration the faster the optimal solution is found. UVPackmaster, thanks to its efficiency, is able to perform a heuristic search really fast, even when packing on CPU only. But keep in mind that UVPakmaster 2 supports different packing devices. Not only CPU, but also Cuda-enabled GPUs. The plugin has capability to perform heuristic search on all available packing devices simultaneously. If you have a GPU in your system the add-on will use it together with your CPU, so it will perform iterations much faster. If you have more GPUs, it will be even faster, being able to perform thousands of iterations every second.
By purchasing the UVPackmaster plugin for 3ds Max you get a lifetime license to use it. You also get access to all future updates of the plugin for free.
The plugin for 3ds Max provides all core features of UVPackmaster engine PRO edition:
- efficient UV packing algorithm
- UV islands area measurement
- overlapping UV islands detection
- heuristic search algorithm
- packing for a non-square texture
- add new UV islands into an existing packing
- accurate pixel margin calculation
- overlapping UV islands lock
- grouping UV islands
- UDIM support
- advanced heuristic algorithm
- packing on GPU
- heuristic search on all devices simultaneously (CPU and all GPUs)
You can test all these features for free using the demo version of the 3ds Max Plugin, available at the Downloads page. Keep in mind that the demo version doesn't apply the packing result to the object - only renders the result in a separate window.
Supported 3ds Max versions
The UVPackmaster plugin is supported on all 3ds Max versions from 2017 to 2020.
|Multi Object Mode||Determines the modifier behavior when it is applied to many objects at the same time:
|Render Result||Show a window with a render of the resulting UV map after every packing run. The plugin operation is suspended as long as the window is opened - the user must close the window in order to continue.|
Packing Device rollup
|Use All Devices||If this option is enabled, the add-on will use all packing devices simultaneously whenever possible. Simultaneous packing mode will be used in the following situations: heuristic search is enabled or the packing mode is set to GROUPS TO TILES.|
Basic Options rollup
|Map Channel||Choose the UV channel which will be processed by the plugin.|
|Thread Count||Choose the maximal number of CPU cores which will be used by the plugin. By default this parameter is set to the number of cores in the system.|
|Margin||Margin to apply during packing.|
|Precision||Number describing how exact the algorithm will be when searching for island placement. Too low value may cause islands to overlap.|
|Rotation Enable||Allow the packer to rotate islands in order to achieve better result.|
|Pre-Rotation Disable||Disable the initial rotation of islands before generating other orientations. The pre-rotation operation usually optimizes packing, use this option only if you have a good reason.|
|Rotation Step||Rotation step in degrees to use when generating island orientations to be considered during packing.|
|Post-Scaling Disable||Do not scale islands after packing so they won't fit into the unit UV square. Enabling this option is not recommended in most cases.|
Advanced Options rollup
|Selection Mode||Determines how the plugin processes UV selection:
|Lock Overlapping||Treat overlapping islands as a single island.|
|Packing Mode||Determines how the packer processes the UV map:
|Tiles In Row||When packing to tiles, this parameter determines the number of UDIM tiles in a single tile row.|
|Grouping Method||Grouping method to use:
|Pixel Margin||Margin in pixels the packed UV islands should have. If this parameter is set to a value greater than 0, then the usual Margin option will be ignored and the packer will determine the correct pixel margin.|
|Pixel Padding||Distance in pixels between UV islands and the packing box border. This option is disabled and ignored if set to 0 - in such case the distance will be determined by the island margin.|
|Pixel Margin Adjustment Time||The time in seconds packer will spend on determining the proper pixel margin before actual packing begins. This parameter is only used if the Pixel Margin parameter is greater than 0.|
|Enable Heuristic||Perform multiple packing iterations in order to find the optimal result.|
|Heuristic Search Time||Specify the time in seconds for a heuristic search. After timeout is reached the packer will stop and the best result will be applied to the UV map. If the time is set to 0 the packer will perform the search continuously, until the user manually applies the result by pressing ESC.|
|Advanced Heuristic||Use the advanced method during a heuristic search. With this option enabled the packer will examine a broader set of solutions when searching for the optimal one. This method is most useful when packing a limited number of islands, preferably with a greater number of orientations considered - in such case it allows to find a better solution than if using the simple method. Enabling this option is not recommended when packing a UV map containing a greater number of islands|
Texture Dimensions rollup
|Lock Dimensions||Lock the Texture Height value so it is always equal to the Texture Width value.|
|Texture Width||Set the width of a texture the UV map should packed for.|
|Texture Height||Set the height of a texture the UV map should packed for.|