Eurographics 2021

Velocity Skinning

Velocity Skinning for Real-time Stylized Skeletal Animation

A simple technique to add exaggerated deformation triggered by skeletal velocity on top of standard skinning animation.

  • Real-time, can be implemented as a single-pass vertex shader
  • Works out of the box on existing skinning data by reusing the skinning weights
  • Allows non-linear time editing from instantaneous pose and velocity information
Velocity Skinning teaser: cartoon cow with squashy and floppy deformations
Interactive online demos

Run it in your browser.

Demo 1: load your own character

A JavaScript + WebGL implementation of Velocity Skinning. Load your own FBX character and interact with it immediately.

FBX examples: Manga model, Cesium Man

Screenshot of the parameter tuning web demo

Demo 2: tune the parameters

A preset 3D scene where the parameters of the squashy and floppy effects can be tuned interactively through the control panel.

Publication

The article

First pages of the Velocity Skinning article

Velocity Skinning for Real-time Stylized Skeletal Animation

Damien Rohmer, Marco Tarini, Niranjan Kalyanasundaram, Faezeh Moshfeghifar, Marie-Paule Cani, Victor Zordan.
Eurographics 2021, Computer Graphics Forum vol. 40, no. 2, pp. 549–561.

Secondary animation effects are essential for liveliness. We propose a simple, real-time solution for adding them on top of standard skinning, enabling artist-driven stylization of skeletal motion. Our method takes a standard skeleton animation as input, along with a skin mesh and rig weights. It then derives per-vertex deformations from the different linear and angular velocities along the skeletal hierarchy. We highlight two specific applications of this general framework, namely the cartoonlike "squashy" and "floppy" effects, achieved from specific combinations of velocity terms. As our results show, combining these effects enables to mimic, enhance and stylize physical-looking behaviours within a standard animation pipeline, for arbitrary skinned characters. Interactive on CPU, our method allows for GPU implementation, yielding real-time performances even on large meshes. Animator control is supported through a simple interface toolkit, enabling to refine the desired type and magnitude of deformation at relevant vertices by simply painting weights. The resulting rigged character automatically responds to new skeletal animation, without further input.

@article{rohmer2021velocity,
  author  = {Rohmer, Damien and Tarini, Marco and
             Kalyanasundaram, Niranjan and Moshfeghifar, Faezeh
             and Cani, Marie-Paule and Zordan, Victor},
  title   = {Velocity Skinning for Real-time Stylized
             Skeletal Animation},
  journal = {Computer Graphics Forum (Eurographics 2021)},
  volume  = {40},
  number  = {2},
  pages   = {549--561},
  year    = {2021},
  doi     = {10.1111/cgf.142654}
}

Follow-up work: Acceleration Skinning (Graphics Interface 2022) and Dynamic Skinning (SIGGRAPH 2025 Posters, IEEE TVCG 2026).

Article associated with the Replicability Stamp (GitHub).

Honorable Mention certificate, Günter Enderle Award, Eurographics 2021

This paper received the Honorable Mention of the Günter Enderle Award of Eurographics 2021.

Videos

See it in motion

General presentation of Velocity Skinning
Showcase with an animator
Technical presentation at Eurographics (4K) · YouTube
Open source

Code

Algorithm

Precomputation:
  Compute ã from a
  Compute initial centroid cj for each joint

Run time:
  For all vertices at position p:
    For all joint j at position pj:
      (uj, wj) ← (linear, angular) velocity of j
      d_drag    = drag_linear(uj)        + drag_angular(wj, p, pj)
      d_stretch = stretch_linear(uj, cj) + stretch_angular(wj, p, pj, cj)
      d = d_drag + d_stretch
      p = p + ã d
Team

Authors

Damien Rohmer
LIX, Ecole Polytechnique, CNRS, Institut Polytechnique de Paris
Marco Tarini
University of Milan
Niranjan Kalyanasundaram
Clemson University
Faezeh Moshfeghifar
University of Copenhagen
Marie-Paule Cani
LIX, Ecole Polytechnique, CNRS, Institut Polytechnique de Paris
Victor Zordan
Clemson University

Developer of Demo 1: Ewen Collin.