Interactive Motion Editing Presented by Troy McMahon

Preview:

Citation preview

Interactive Motion EditingInteractive Motion Editing

Presented by Troy McMahonPresented by Troy McMahon

Interactive Motion EditingInteractive Motion Editing

Adapting existing motions to compensate Adapting existing motions to compensate for variations in characters and for variations in characters and environments. environments.

MotivationMotivation

Reusability: Reusability: Interactive Motion Editing allows us to Interactive Motion Editing allows us to

generate new motions using existing generate new motions using existing motion clips to motion clips to

This prevents us from having to capture This prevents us from having to capture these new motions.these new motions.

Video 1Video 1

MotivationMotivation

Allows us to use motion capture date Allows us to use motion capture date obtained for one character to animate obtained for one character to animate another character of different dimensions.another character of different dimensions.

© Lee, Shinn,

Siggraph 1999

Related WorkRelated Work

Motion Warping, Siggraph 95Motion Warping, Siggraph 95Michael Gleicher, “Retargeting Motion to Michael Gleicher, “Retargeting Motion to

New Characters”, Siggraph 98New Characters”, Siggraph 98S. Lee, G. Wolberg, and S. Y. Shin, S. Lee, G. Wolberg, and S. Y. Shin,

“Scattered Data Interpolation With “Scattered Data Interpolation With Multilevel B-Splines”, 1995Multilevel B-Splines”, 1995

OverviewOverviewFeatures of the target motion are Features of the target motion are

represented as spacetime constraints.represented as spacetime constraints.

Modify existing motions to conform to Modify existing motions to conform to these constraints.these constraints.

Goal: Satisfy constraints while preserving Goal: Satisfy constraints while preserving characteristics of original motion.characteristics of original motion.

This is an optimization problemThis is an optimization problem

Overview of AlgorithmOverview of Algorithm

Intra-frame relationshipIntra-frame relationshipUse inverse kinematics to satisfy constraintsUse inverse kinematics to satisfy constraints

Inter-frame relationshipInter-frame relationshipUse curve fitting to make motions smootherUse curve fitting to make motions smoother

Overview of AlgorithmOverview of Algorithm

Use inverse kinematics to conform motion Use inverse kinematics to conform motion to constraintsto constraints

Use curve fitting to reduce jerkinessUse curve fitting to reduce jerkiness repeatrepeat

Inverse KinematicsInverse KinematicsConstraints reduce the number of Constraints reduce the number of

variables (by making some variables variables (by making some variables dependent on others)dependent on others)

Use inverse kinematics to determine the Use inverse kinematics to determine the optimal motion under these constraintsoptimal motion under these constraints

“elbow circle”[Korein and Badler 82]

“elbow circle”[Korein and Badler 82]

Inverse Kinematics SolverInverse Kinematics Solver

Used to adjust each frame to conform to Used to adjust each frame to conform to constraintsconstraints

This may introduce jerkinessThis may introduce jerkiness

Displacement MapsDisplacement Maps

Spline curves: The displacement of a Spline curves: The displacement of a coordinate as a function of time coordinate as a function of time

Displacement maps: Array of spline curves Displacement maps: Array of spline curves over common knot sequenceover common knot sequence

Motion Displacement MappingMotion Displacement Mapping

Map a displacement vector, d(t), to the Map a displacement vector, d(t), to the existing motion vector, m(t), to obtain a new existing motion vector, m(t), to obtain a new motion vector, m’(t), that satisfies the motion vector, m’(t), that satisfies the constraints.constraints.

m’(t)=m(t)m’(t)=m(t)d(t)d(t)

© Lee, Shinn, Siggraph 1999

d(t) is not knownd(t) is not knownB-Spline Approximation B-Spline Approximation

techniquetechnique

B-Spline Approximation techniqueB-Spline Approximation technique

Hill climbing algorithmHill climbing algorithmEach iteration: add a curve, dEach iteration: add a curve, dii, that brings , that brings

the displacement closer to d(t)the displacement closer to d(t)Curves go from course to fineCurves go from course to fineFor a sufficiently large h, d(t)For a sufficiently large h, d(t)dd11……ddhh

As hAs hii, d, d11……ddhhiid(t)d(t)

Multilevel Spline FittingMultilevel Spline Fitting

0f0f

1f1f 2f2f

10 ff 10 ff 210 fff 210 fff

© Lee, Shinn, Siggraph 1999

Hieratical Motion FittingHieratical Motion Fitting

mmhh=(..(m=(..(moodd11) ) dd22)… )… ddhh))

mmii=(m=(mi-1i-1ddii))At each level this algorithm uses the At each level this algorithm uses the

approximation from the previous level to approximation from the previous level to generate a new approximationgenerate a new approximation

Hieratical Motion FittingHieratical Motion Fitting

At each level apply inverse kinetics to the At each level apply inverse kinetics to the motion from the previous levelmotion from the previous level

Compute the displacement for each frameCompute the displacement for each frameUse curve fitting to calculate a Use curve fitting to calculate a

displacement mapdisplacement mapUse the displacement map to generate a Use the displacement map to generate a

new motionnew motion

Motion Fitting AlgorithmMotion Fitting Algorithm

Input:Original Motion,

Constraints

Inverse Kinematics

Solver

Compute Displacement

Map, di

Compute Displacement

For Frame

Output:mh

For every constraint in C

Do h times

Choosing An Initial GuessChoosing An Initial Guess

The better the initial guess, the fewer The better the initial guess, the fewer levels you have to compute in order to levels you have to compute in order to obtain a good approximation.obtain a good approximation.

Guess obtained by shifting the root in the Guess obtained by shifting the root in the original motion.original motion.

Knot SequencesKnot Sequences

The number of knots The number of knots doubles with each doubles with each iteration of motion fitting iteration of motion fitting algorithm.algorithm.

The more knots, the The more knots, the more closely the motion more closely the motion conforms to the conforms to the constraintsconstraints

© Lee, Shinn, Siggraph 1999

ResultsResults

© Lee, Shinn, Siggraph 1999

ResultsResults

Video 2Video 2Video 3Video 3Video 4Video 4

AnalysisAnalysis

© Lee, Shinn, Siggraph 1999

LimitationsLimitations

Does not take into consideration physics Does not take into consideration physics of the motions.of the motions.

Resulting actions may not be natural or Resulting actions may not be natural or realistic.realistic.

ReferencesReferences

Jehee Lee, Sung Yong Shin, “A Jehee Lee, Sung Yong Shin, “A Hierarchical Approach to Interactive Hierarchical Approach to Interactive Motion Editing”, Siggraph 99Motion Editing”, Siggraph 99

Recommended