Dynamic Splines with Constraints for Animation
Computer Graphics Laboratory
California Institute of Technology
In this paper, we present a method for fast interpolation between animation keyframes that allows for automatic computer-generated ``improvement'' of the motion. Our technique is closely related to conventional animation techniques, and can be used easily in conjunction with them for fast improvements of ``rough'' animations or for interpolation to allow sparser keyframing. We apply our technique to construction of splines in quaternion space where we show 100-fold speed-ups over previous methods. We also discuss our experiences with animation of an articulated human-like figure. Features of the method include:
Animators often desire to specify their animations by a sequence of fairly widely spaced keyframes that capture the essence of the motion. Without adequate tools to fill in the intermediate frames in order to produce smooth animation, each intermediate frame must be manually created, a laborious process. We seek to design methods that can rapidly interpolate keyframes to create animations, thus allowing the animator to concentrate on design rather than the fine details.
The method first places a spline path through the user-defined keyframes, and measures the degree of constraint satisfaction within the spline segments. Unsatisfactory segments are automatically subdivided; ``variable'' frames are inserted. An optimizer then improves the degree of constraint-satisfaction by moving the variable frames to better positions.
The technique is similar to the spacetime constraints paradigm but we apply our method to interpolation of keyframes rather than to novel methods of creating animation. Thus, our technique is closer to conventional animation techniques, and can be used easily in conjunction with them for fast improvements of ``rough'' animations or for interpolation to allow sparser keyframing.
|Covariant interpolation of quaternions with this method is approximately 100 times faster than previous methods.|
We show keyframes and a sample frame from a human figure running and
jumping onto a step. |
Top: In the unoptimized splined animation, the runner's foot passes through the step.
Bottom: Optimizing the animation from the same keyframes. The foot does not pass through the step. The soft constraints have lifted the foot out of the way.