Skinning: Real-time Shape Deformation

ACM SIGGRAPH 2014 Course

ACM SIGGRAPH Asia 2014 Invited Course

Symposium on Geometry Processing 2015 Invited Course

International Geometry Summit 2016 Invited Course

Alec Jacobson
Columbia University
Zhigang Deng
University of Houston
Ladislav Kavan
University of Pennsylvania
J.P. Lewis
Victoria University, Weta Digital

SIGGRAPH Asia lecturer:Yotam Gingold
George Mason University

representative image

Course Materials

If you'd like to cite the course or course notes, using the following BibTeX entry:

@inproceedings{skinningcourse:2014,
  author = {Alec Jacobson and Zhigang Deng and Ladislav Kavan and JP Lewis},
  title = {Skinning: Real-time Shape Deformation},
  booktitle = {ACM SIGGRAPH 2014 Courses},
  year = {2014},
}

Introduction

Real-time deformation brings 3D characters to life. Methods developed in recent years are found in abundance throughout computer games, film production, medical simulations and augmented reality systems. By ensuring fast performance, these methods also find applications outside of character deformation, such as 2D graphic design, interactive variational modeling and computer vision. Vibrant research from different subdisciplines of computer graphics has sculpted a diverse landscape of techniques, but also an intimidating field of (often inconsistent) terminology and related work. This course cuts a consistent narrative through the core techniques and recent advances in the realm of real-time deformation.

Computer graphics is first and foremost concerned with the outward visual appearance of shapes, hence character deformation techniques that parameterize the way a character's "skin" moves are referred to under the umbrella term of "skinning." Parameterized skinning has been in use nearly as long as polygonal meshes have been representing 3D shapes. In a traditional skinning setup or rig, an animator articulates a given 3D character by propagating transformations of an internal skeleton made of rigid bones to the vertices of the character mesh via scalar blending or weighting functions. The character's geometry may be arbitrary complex, but so long as the number of bones is small skinning a character is fast. Deformation computation is embarrassingly parallel and fits neatly into the SIMD optimized standard graphics pipeline: deformations may be computed just in time during vertex shading. Many linear and non-linear techniques were introduced to blend the deformation contributions of individual bones, using either the single rest-pose of a given shape or a database of example poses of the shape. Blending weights have been traditionally painted manually by highly trained rigging artists, but several automatic techniques are now available, reducing the barrier of entry and opening new doors to automated character deformation scenarios and applications. This course navigates recent developments and offers outlook toward future research.

Course Overview

The intended audience of this course are computer graphics practitioners and researchers, from technical directors to programmers or students. This course serves both as an implementation recipe for state-of-the-art deformation techniques as well as summary of the most recent research and unsolved challenges. Assuming a modest technical background (college-level linear algebra and geometry), we introduce the basics of real-time skinning and then dive into cutting-edge methods found in academic research and used in industry production. The course is organized into four parts, each presented by an expert in that sub-area.

Direct skinning methods and deformation primitives

The traditional skinning pipeline assumes a 3D model in a rest-pose, an embedded skeleton composed of rigid bones, and corresponding blending weight functions. The most popular technique performs linear blending of individual bone transformations with scalar weight functions. This method enjoys popularity due to its simplicity, speed, and predictability, but suffers from known artifacts. These artifacts can be overcome by more recent techniques that employ vector-valued (multi-linear) weighting functions or non-linear blending formulae. Direct methods may be more generally understood as propagating the effect of deformers. Traditionally these are the rigid bones of a skeleton, but alternative and specialized deformers have found their use in character articulation.

Automatic methods via constrained energy minimization

Specially trained rigging artists spend hours to create high quality rigs. This labor-intensive process can be avoided with recent automatic rigging methods. The problem of skeleton creation and weight computation is posed as constrained energy minimization. Leveraging finite-element method and advances in sparse quadratic programming, this problem may be implemented efficiently. Variational methods also extend to run time, by automatically choosing bone transformations which meet user constraints and maintain deformation quality.

Example-based shape deformation

So far, the direct and automatic methods assume a single pose of the input shape (the "rest pose"). However, artists often request explicit control over the resulting deformations. This leads us to example-based methods that utilize artist-sculpted shapes or scans captured from real individuals. These methods are fundamentally scattered data interpolation, where the domain is the character's pose rather than time or space.

Mesh animation decomposition and compression

Finally, skinning decomposition techniques automatically extract bones and weights, or a skeletal rigging model from an input shape animation, even of highly deformable objects such as cloths. Skinning weight reduction can significantly increase run-time efficiency, but its implied sparseness constraint could cause noticeable losses in deformation quality. Further, it is difficult to handle exceptional vertices that are naturally associated with many bones. An alternative solution uses virtual bones and sparse compression of the dense input weights, ensuring run-time efficiency while maximally retaining skinning quality.

We encourage course attendees to revisit our course notes for further details. In the hopes of establishing a consistent language and fostering new conversations on this topic, we host this online resource and the course notes above.