Art by Yusuf Bolukbasi
RizomUV SDK contains everything you need to give your application the most efficient UV tools
If you need the speed and ease of the Rizom standalone unwrapping application integrated into your in-house pipeline, you can easily do that via using our C++ Library (also known as our SDK). It contains almost all the features of our standalone applications, CAD included and allows you to use our algorithms and APIs your way. It contains our famous and fast unwrapping algorithms, which you can use with or without our famous auto seam functionality. It also comes with weight map controls, some of the tightest packing algorithms and controls on the market, as well as topology copying for edge and mesh, symmetry and of course we run continuous integration. Every time we do a commit, tests run on all three OSes we support. Also, did we say it’s available on Windows, Linux AND MacOS?
Our unfolding algorithm has been rewritten five times since its initial development by Rizom-Labs owner, Rémi Arquier in 2003. Its current incarnation is capable of flattening a single island consisting of several hundred thousand triangles in a matter of seconds. It enables you to choose whether you want to unfold with or without overlaps or triangle flips. The unfolding algorithm is also capable of working with different types of constraints on edge orientations, and point positions (pinning). The pinning can be controlled by weight maps, allowing for hard & soft constraints.
Rizom-Lab’s new packing algorithm is extremely fast and highly utilises available UV space. It is also capable of grouping, locking, and stacking shells, and allows you to define properties on your shells independently. Also, it provides a plethora of options to orient and scale, as well as setting texel density on sais shells.
Optimise is a stretch reducer that uses a distance-based stretch signal. It gives far better results than classical conformal methods such as ABF, LSCM or even authalic ones. Our clients have repeatedly stated that RizomUV has the best stretch reducer on the market. It is robust and adapted to badly tesselated NURBS meshes you often find in from models from the CAD industry. And like Unfold, Optimize considers defined constraints when it runs, either to conform to user-defined ones, or automaticaly added ones to prevent the creation of overlaps and triangle flips.
The mesh input module has two modes: For best performance, one module uses the mesh input polygons with tesselation already done externally. The other option takes the mesh input polygons and does topology and mesh sanity checks. It is up to the API client to determine the best option.
UNIQUE AUTOSEAM TOOLSET
This part of the toolset is capable of segmenting meshes into smaller pieces called shells or islands, and to enable you to make the topology changes needed, so they all become editable items. One of the main purpose is the possibility to generate UV maps fully automatically for baking applications, but the algorithms can also be used for semi-automatic mesh segmentation. Not only you'll get your UVs fast, but with a control on the maximum stretching and without overlaps nor triangle flips. All the following sub-tools can be combined and provide the functionality to cut your mesh in a single API call.
Creates cuts like a tanner or hunter would by doing a single cut line which links mesh extremities. This is ideal for unwrapping organic models like bipeds, quadrupeds and trees.
Finds editable mesh subfeatures. It is well suited for vast terrains and poly heavy meshes.
Splits the sharpest edges it can find, this can be an excellent alternative to Box, as it sometimes provides better results
Well adapted to hard surface meshes like buildings, mechs or vehicles.
While segmenting, the stretching is analysed and if it goes above a specified threshold, additional cut lines are automaticaly added. The process is then iterated until the strecthing goes below the threshold
Stitches already flattened shells by evaluating many pair combinations in order to reduce the shell count and the cut line’s length
Smoothing is useful when dealing with photogrammetric meshes with too many protuberant features. Smoothing these can significantly reduce the final shell count
Analyses topology and adds seams, so the mesh becomes topologically equivalent to a disc.
Limit the island's maximum bounding bosx dimensions in order to avoid long and thin islands, that would handicap the packing algorithm
Optimizing can be tweaked using weight maps so that the final texel density can be spatially controlled. Auto Seams can read weight maps and thereby prevent painted areas from being cut. The smoothing algorithm amplitude can also be controlled using weight maps, as well as the pinning map for Optimize
Brushes and Subsets
All algorithms can be applied to a mesh subset or using a brush, and this is one of the things you may want to explore in our standalones, as users love to be able to do this. The API segments the selection set (which can be a selection of points/edges/polygons/shell) in distinctly connected parts and automatically adds constraints to set limits when needed.
TopoCopy and Symmetry
Shells that have the same topology are detected and can have their coordinates or selection state copied from one shell to the similar ones. Symmetry is deceptive in its simplicity, anyone who models or unwraps knows this. The Unfold, Optimize and Auto Seam source codes have been heavily adapted for handling symmetry workflows correctly.
Art by Cedric Seaut
RizomUV is indeed an impressive piece of software! Not only in the fundamental tools provided miles ahead of any alternatives, but the support provided is also absolutely outstanding. In my opinion, the real strength that RizomUV has to offer is the robust scripting API, which allows me to build a highly efficient workflow around the software.Erik Sutton - Technical Artist at Fantastic, Yest