Graphics Reference
In-Depth Information
where each line is one time sample of the motion, the number of values on a line corresponds to the
total DOFs of the figure, and they are given in the order they appear in the hierarchy information (the
specific numbers in the previous example are completely random).
Motion capture (typically ASCII) files containing this information are the final output of a motion
capture session. Many are made available on the Web for free download. It's not a difficult exercise, for
example, to write a C/C
program to read in a specific file format and visualize the motion by ani-
mating a stick figure using OpenGL.
þþ
6.7 Manipulating motion capture data
The data generated by the motion capture process are directly usable for animating a synthetic fig-
ure whose dimensions match those of the captured subject. Even then, as noted earlier, noise and
numerical inaccuracies can disturb the resulting motion. In addition, it is not unusual for error-free
captured motion to not quite satisfy the desires of the animator when finally incorporated into an
animation. In these cases, the motion must be recaptured (an expensive and time-consuming pro-
cess), or it must be manipulated to better satisfy theneedsoftheanimator. There are various ways
to manipulate mocap data. Some are straightforward applications of standard signal processing
techniques while others are active areas of research. These techniques hold the promise of enabling
motion libraries to be constructed along with algorithms for editing the motions, mapping the
motions to new characters, and combining the motions into novel motions and/or longer motion
sequences.
6.7.1 Processing the signals
The values of an individual parameter of the captured motion (e.g., a joint angle) can be thought of, and
dealt with, as a time-varying signal. The signal can be decomposed into frequencies, time-warped,
interpolated with other signals, and so forth. The challenge for the animator in using these techniques
is in understanding that, while the original signal represents physically correct motion, there is nothing
to guarantee physical correctness once the signal has been modified.
Motion signal processing considers how frequency components capture various qualities of the
motion [ 1 ]. The lower frequencies of the signal are considered to represent the base activity (e.g., walk-
ing) while the higher frequencies are the idiosyncratic movements of the specific individual (e.g., walk-
ing with a limp). Frequency bands can be extracted, manipulated, and reassembled to allow the user to
modify certain qualities of the signal while leaving others undisturbed. In order to do this, the signal is
successively convolved with expanded versions of a filter kernel (e.g., 1/16, 1/4, 3/8, 1/4, 1/16). The
frequency bands are generated by differencing the convolutions. Gains of each band are adjusted by the
user and can be summed to reconstruct a motion signal.
Motion warping warps the signal in order to satisfy user-supplied key-frame-like constraints [ 9 ].
The original signal is y ( t ) and the key frames are given as a set of ( y i , t i ) pairs. In addition, there is
a set of time warp constraints ( t j , t 0 j ). The warping procedure first creates a time warp mapping t¼g ( t 0 )
by interpolating through the time warp constraints and then creates a motion curve warping, y ( t ) ¼f ( y , t ).
This function is created by scaling and/or translating the original curve to satisfy the key-frame con-
straints, y 0 ( t )
¼a ( t ) y ( t )
þb ( t ) whether to scale or translate can be user-specified. Once the functions a ( t )
Search WWH ::




Custom Search