Velocity Skinning is a simple technics to add exagerated deformation triggered by skeletal velocity on top of standard skinning animation.
The technic is:Abstract: 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.
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_linear(wj, p, pj)
d_stretch = stretch_linear(uj, cj) + stretch_angular(wj, p, pj, cj)
d = d_drag + d_stretch
p = p + ã * d