Transferring surface data across geometric models in a...

1
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 production environment Kiran S Bhat * Industrial Light + Magic Cary 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 each mesh vertex, such as enveloping weights for skinning or UV coor- dinates for texture mapping. An important requirement for a digital creature pipeline is the ability to transfer these surface attributes across geometric models. This is needed to transfer (and re-use) surface attributes as a creature’s geometry and topology changes over the course of its artistic design. Attribute transfer is a very common operation in the life cycle of a digital creature in the CGI production pipeline. One typical sce- nario is to re-use surface attributes across different resolutions of a creature model (e.g., lower resolution for simulation and higher resolution for rendering). Also common is the need to transfer skin- ning attributes from the creature mesh (skin) onto thousands of hair constrained to its surface. Another important application is to trans- fer surface attributes during fracture, from a unfractured mesh onto its 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 across large meshes, (2) ability to transfer attributes between groups of meshes with differ- ent topologies and shapes, and (3) interactively edit and correct the transferred attributes in regions where the automatic algorithms fail. Our attribute transfer framework works in two steps. In the first step, called Geometric Mapping, we establish correspondences be- tween surface points on the source and target meshes. We store the correspondence information in a flexible data structure called the surface map. In the second step, we transfer attributes using the correspondences computed in the first step. We have designed * e-mail: [email protected] e-mail:[email protected] several automatic algorithms for geometric mapping, ranging from algorithms 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 also provides the ability to preview and edit the surface map as well as the transferred attributes. An artist interactively selects the error regions 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 the Graph Laplacian refines the attribute values in the selected regions, and subsequently corrects the surface map in the error regions. The ability to interactively edit the surface map as a part of the attribute transfer process improves the accuracy of the correspondences as well 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 mesh onto 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 the source mesh. However, even with a good surface map, transferring UV coordinates is tricky because of the inherent discontinuities in texture parametrization. We setup UV transfer as a graph mini- mization problem, where the UVs on the target mesh are initialized using the values at corresponding source mesh points. Our algo- rithm computes the optimal UV discontinuities (cuts) on the target mesh, and subsequently adjusts the UVs on the interior regions of the parametrization. In summary, our attribute transfer tool uses a collection of fast algorithms for surface deformation and correspon- dence computation, a Laplace-based scheme for editing attributes and correcting correspondences, and a robust minimization algo- rithm for UV transfer. This tool has been successfully used for transferring attributes in several recent shows at ILM.

Transcript of Transferring surface data across geometric models in a...

Page 1: Transferring surface data across geometric models in a ...webstaff.itn.liu.se/~jonun/web/teaching/2009-TNCG... · Transferring surface data across geometric models in a digital production

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.