RigMesh: Automatic Rigging for Part-Based Shape Modeling and Deformation

Peter Borosan, Ming Jin, Doug DeCarlo, Yotam Gingold, Andrew Nealen
ACM Transactions on Graphics (TOG) 31(6):198:1–198:9. Also in Proceedings of SIGGRAPH Asia 2012.

Paper: PDF (21 MB) | PDF (4 MB)

Presentation (SIGGRAPH Asia 2012): PDF (10 MB) | PDF with notes (10 MB) | Keynote '09 (18 MB) | PowerPoint with demo (97 MB)

Software: Rigmesh v1.01 (Windows, 8 MB)

Abstract:

The creation of a 3D model is only the first stage of the 3D character animation pipeline. Once a model has been created, and before it can be animated, it must be rigged. Manual rigging is laborious, and automatic rigging approaches are far from real-time and do not allow for incremental updates. This is a hindrance in the real world, where the shape of a model is often revised after rigging has been performed. In this paper, we introduce algorithms and a user-interface for sketch-based 3D modeling that unify the modeling and rigging stages of the 3D character animation pipeline. Our algorithms create a rig for each sketched part in real-time, and update the rig as parts are merged or cut. As a result, users can freely pose and animate their shapes and characters while rapidly iterating on the base shape. The rigs are compatible with the state-of-the-art character animation pipeline; they consist of a low-dimensional skeleton along with skin weights identifying the surface with bones of the skeleton.

Video (MP4, 18 MB):

Modeling the camel (MP4, 6 MB):

BibTeX (or see the ACM Digital Library entry):

@article{Borosan:2012:RAR,
 author    = {Peter Borosan and Ming Jin and Doug DeCarlo and Yotam Gingold and Andrew Nealen},
 title     = {Rig{M}esh: Automatic Rigging for Part-Based Shape Modeling and Deformation},
 journal   = {ACM Transactions on Graphics (TOG)},
 volume    = {31},
 number    = {6},
 pages     = {198:1--198:9},
 articleno = {198},
 numpages  = {9},
 url       = {http://doi.acm.org/10.1145/2366145.2366217},
 doi       = {10.1145/2366145.2366217},
 year      = {2012},
 month     = nov,
 publisher = {ACM Press},
 address   = {New York, NY, USA}
}