250 likes | 368 Views
Interactive Motion Editing. Presented by Troy McMahon. Interactive Motion Editing. Adapting existing motions to compensate for variations in characters and environments. . Motivation. Reusability: Interactive Motion Editing allows us to generate new motions using existing motion clips to
E N D
Interactive Motion Editing Presented by Troy McMahon
Interactive Motion Editing • Adapting existing motions to compensate for variations in characters and environments.
Motivation Reusability: • Interactive Motion Editing allows us to generate new motions using existing motion clips to • This prevents us from having to capture these new motions.
Motivation • Allows us to use motion capture date obtained for one character to animate another character of different dimensions. © Lee, Shinn, Siggraph 1999
Related Work • Motion Warping, Siggraph 95 • Michael Gleicher, “Retargeting Motion to New Characters”, Siggraph 98 • S. Lee, G. Wolberg, and S. Y. Shin, “Scattered Data Interpolation With Multilevel B-Splines”, 1995
Overview • Features of the target motion are represented as spacetime constraints. • Modify existing motions to conform to these constraints. • Goal: Satisfy constraints while preserving characteristics of original motion. • This is an optimization problem
Overview of Algorithm • Intra-frame relationship • Use inverse kinematics to satisfy constraints • Inter-frame relationship • Use curve fitting to make motions smoother
Overview of Algorithm • Use inverse kinematics to conform motion to constraints • Use curve fitting to reduce jerkiness • repeat
Inverse Kinematics • Constraints reduce the number of variables (by making some variables dependent on others) • Use inverse kinematics to determine the optimal motion under these constraints “elbow circle” [Korein and Badler 82]
Inverse Kinematics Solver • Used to adjust each frame to conform to constraints • This may introduce jerkiness
Displacement Maps • Spline curves: The displacement of a coordinate as a function of time • Displacement maps: Array of spline curves over common knot sequence
Motion Displacement Mapping • Map a displacement vector, d(t), to the existing motion vector, m(t), to obtain a new motion vector, m’(t), that satisfies the constraints. • m’(t)=m(t)d(t) • d(t) is not known • B-Spline Approximation technique © Lee, Shinn, Siggraph 1999
B-Spline Approximation technique • Hill climbing algorithm • Each iteration: add a curve, di, that brings the displacement closer to d(t) • Curves go from course to fine • For a sufficiently large h, d(t)d1…dh • As hi, d1…dhid(t)
Multilevel Spline Fitting © Lee, Shinn, Siggraph 1999
Hieratical Motion Fitting • mh=(..(mod1) d2)… dh) • mi=(mi-1di) • At each level this algorithm uses the approximation from the previous level to generate a new approximation
Hieratical Motion Fitting • At each level apply inverse kinetics to the motion from the previous level • Compute the displacement for each frame • Use curve fitting to calculate a displacement map • Use the displacement map to generate a new motion
Motion Fitting Algorithm For every constraint in C Do h times
Choosing An Initial Guess • The better the initial guess, the fewer levels you have to compute in order to obtain a good approximation. • Guess obtained by shifting the root in the original motion.
Knot Sequences • The number of knots doubles with each iteration of motion fitting algorithm. • The more knots, the more closely the motion conforms to the constraints © Lee, Shinn, Siggraph 1999
Results © Lee, Shinn, Siggraph 1999
Results • Video 2 • Video 3 • Video 4
Analysis © Lee, Shinn, Siggraph 1999
Limitations • Does not take into consideration physics of the motions. • Resulting actions may not be natural or realistic.
References • Jehee Lee, Sung Yong Shin, “A Hierarchical Approach to Interactive Motion Editing”, Siggraph 99