Transferring surface data across geometric models in a...
Transcript of Transferring surface data across geometric models in a...
Copyright is held by the author / owner(s). SIGGRAPH 2008, Los Angeles, California, August 11–15, 2008. ISBN 978-1-60558-466-9/08/0008
Transferring surface data across geometric models in a digital productionenvironment
Kiran S Bhat∗
Industrial Light + MagicCary Phillips†
Industrial Light + Magic
Figure 1: UV transfer (shown with specular maps) from a high res model (left, 56668 vertices) to a lower res model (right, 6284 vertices).
1 Introduction
A typical CG creature has multiple surface attributes defined at eachmesh vertex, such as enveloping weights for skinning or UV coor-dinates for texture mapping. An important requirement for a digitalcreature pipeline is the ability to transfer these surface attributesacross geometric models. This is needed to transfer (and re-use)surface attributes as a creature’s geometry and topology changesover the course of its artistic design.
Attribute transfer is a very common operation in the life cycle ofa digital creature in the CGI production pipeline. One typical sce-nario is to re-use surface attributes across different resolutions ofa creature model (e.g., lower resolution for simulation and higherresolution for rendering). Also common is the need to transfer skin-ning attributes from the creature mesh (skin) onto thousands of hairconstrained to its surface. Another important application is to trans-fer surface attributes during fracture, from a unfractured mesh ontoits fractured components. This paper presents our transfer frame-work that is designed to handle all these common production sce-narios.
2 Framework for attribute transfer
Our framework was designed with the following key require-ments: (1) ability to transfer attributes acrosslarge meshes, (2)ability to transfer attributes betweengroups of meshes withdiffer-ent topologies and shapes, and (3)interactively edit and correct thetransferred attributes in regions where the automatic algorithms fail.
Our attribute transfer framework works in two steps. In the firststep, calledGeometric Mapping, we establish correspondences be-tween surface points on the source and target meshes. We storethe correspondence information in a flexible data structure calledthe surface map. In the second step, we transfer attributes usingthe correspondences computed in the first step. We have designed
∗e-mail: [email protected]†e-mail:[email protected]
several automatic algorithms for geometric mapping, ranging fromalgorithms that use spatial distances between surface points, to al-gorithms that derive correspondences from the mesh topologies.Our interface allows an artist to switch between these different al-gorithms depending on the transfer scenario. Our framework alsoprovides the ability to preview andedit the surface map as well asthe transferred attributes. An artist interactively selects the errorregions on the target mesh where the attributes transferred by au-tomatic algorithm are incorrect due to bad correspondence compu-tation. Then, a global interpolation algorithm based on theGraphLaplacian refines the attribute values in the selected regions, andsubsequently corrects the surface map in the error regions. Theability to interactively edit the surface map as a part of the attributetransfer process improves the accuracy of the correspondences aswell as transferred attributes. Additionally, to handle transfer be-tween models with distinctly different geometric shapes (e.g., dif-ferent creature meshes), we have developed a Laplacian-based de-formation algorithm that deforms the surface of the source meshonto the target mesh using a few user-specified point correspon-dences.
Transferring attributes such as enveloping weights or blend shapes(defined per-vertex on the target mesh) simply amounts to look-ing up the values from their corresponding surface points on thesource mesh. However, even with a good surface map, transferringUV coordinates is tricky because of the inherent discontinuities intexture parametrization. We setup UV transfer as a graph mini-mization problem, where the UVs on the target mesh are initializedusing the values at corresponding source mesh points. Our algo-rithm computes the optimal UV discontinuities (cuts) on the targetmesh, and subsequently adjusts the UVs on the interior regions ofthe parametrization. In summary, our attribute transfer tool uses acollection of fast algorithms for surface deformation and correspon-dence computation, a Laplace-based scheme for editing attributesand correcting correspondences, and a robust minimization algo-rithm for UV transfer. This tool has been successfully used fortransferring attributes in several recent shows at ILM.