|
We present an algorithm for animating
characters being pushed by an external source such as a user
or a game environment. We start with a collection of motions
of a real person responding to being pushed. When a character
is pushed, we synthesize new motions by picking a motion from
the recorded collection and modifying it so that the character
responds to the push from the desired direction and location
on its body. Determining the deformation parameters that
realistically modify a recorded response motion is difficult.
Choosing the response motion that will look best when modified
is also non-trivial, especially in real-time. To estimate the
envelope of deformation parameters that yield visually
plausible modifications of a given motion, and to find the
best motion to modify, we introduce an oracle. The oracle is
trained using a set of synthesized response motions that are
identified by a user as good and bad. Once trained, the oracle
can, in real-time, estimate the visual quality of all motions
in the collection and required deformation parameters to serve
a desired push. Our method performs better than a baseline
algorithm of picking the closest response motion in
configuration space, because our method can find visually
plausible transitions that do not necessarily correspond to
similar motions in terms of configuration. Our method can also
start with a limited set of recorded motions and modify them
so that they can be used to serve different pushes on the
upper body.
|
|