Pinocchio is a software system for automatic animation
of 3D characters.
Given a 3D character mesh and a generic skeletal motion,
Pinocchio adapts the skeleton to the character
and applies the motion to the shape.
The result is an animated character.
As we developed Pinocchio, we used
about 70 different characters for testing.
After Pinocchio had been completed,
we tested it on 16 biped characters
that we did not see or use during development.
Here, all 16 of our test characters are shown.
A single biped skeleton was used to animate all of them,
demonstrating the generality of our approach.
Three of these characters required a single manual hint
to produce a good motion.
On a mid-range PC, Pinocchio typically
takes under a minute to animate a character.
Pinocchio can produce plausible animations,
even in some unexpected cases.
It can also work with non-biped skeletons.
We were unable to obtain a centaur for motion capture.
This motion is the capture of a human hopping
applied to a centaur skeleton.
Pinocchio works as follows.
It packs spheres into the character
and constructs a graph on their centers.
It then finds an embedding of the given skeleton
into this graph that minimizes a measure of distortion.
It uses continuous optimization to refine
the positions of the skeleton joints within the character.
It solves the diffusion equilibrium equation
on the character surface to compute the bone weights
for skeleton subspace deformation.
Once the character is rigged, Pinocchio
uses online motion retargeting to eliminate foot skate.
Pinocchio requires that the character
be given in roughly the same orientation
and pose as the skeleton.
This is the result if the character's orientation
is flipped vertically.
Pinocchio has no capability to differentiate
This leads to unrealistic, rubbery motion of a knight's
armor and a woman's dress.
In our blind validation test, Pinocchio correctly
embedded the skeleton into 13 of our 16 test models.
Pinocchio incorrectly embedded the skeleton
into these three test characters.
However, a manual hint for the placement of one joint
was sufficient to correct the problem for each of them.
The asymmetry in the middle character's skeleton
is due to the asymmetry in the character.
The following animations demonstrate a results
on the more interesting of our test characters close up.
Pinocchio is best suited for children and amateur animators.
It generates pleasing animations automatically in almost all
of our tests with unfamiliar 3D shapes.