Animating real-time virtual humans thanks to motion capture Franck Multon Laboratoire de Physiologie et de l’Exercice SIAMES project Musculaire IRISA / INRIA Rennes Université de Rennes 2 FRANCE FRANCE
Introduction • Motion re-use – Interactive environments – Large number of characters – Small database of captured motions • Applications in videogames, Virtual Reality, film production, education and training in sports and rehabilitation
Problems (1) – « Motion retargeting » • Adapting motion to new characters • Inverse kinematics/kinetics on each frame [Tsumura 01, Boulic 03, Glardon 04] • Inverse kinematics on specific times + filters [Gleicher 98, Lee 99]
Problems (2) – « Motion blending » • Merging motions by frame-space interpolation + dynamic time warping [Guo 96] • Transitions + distance between motions [Kovar 02, Arikan 02] • « Motion Graphs » [Kovar 02, Lee 04] – Requires a large database + off-line computations
Our approach • Interactive animation with several actors – Impossible to use knowledge on the whole motion given that unpredictable events could occur – Based on [Boulic 97] • Frame-by-frame adaptation • Blending with weighted sum of trajectories • Priorities on body parts for each motion
Architecture Visualization User Adaptation Blending Synchronization Actions Mélange Mélange Posture Retargeting
Normalized skeleton • Adimensional Cartesian and relative trajectories – Main joints – Normalized root position • IK for other joints – Storage of the plan containing the remainding joints – Spline for the trunk
Additionnal constraints • Continuous constraints : – Type : distance, position, velocity – 4 times : t1, t2, t3, t4 100 % Time 0 % t 2 t 3 t 4 t 1
How to adapt motion? (1) 1. Placing and orientating the root – Scaling by new morphological data 2. Scaling normalized data to place main joints – Geometric constraints not verified
How to adapt motion? (2) 3. Verifying constraints for the main joints – No contact / one-foot / two-feet contacts – Displacing the main joints in the Cartesian space depending on the constraints
How to adapt motion? (2) 3. Verifying constraints for the main joints – No contact / one-foot / two-feet contacts – Displacing the main joints in the Cartesian space depending on the constraints
How to adapt motion? (3) – Ex. distance contsraints – Clapping the hands � � � �
How to adapt motion? (4) 4. Other joints – Simple inverse kinematics for a two-segments chain 5. Computation of quaternions for visualization
Motion adaptation demo
How to synchronize & blend motions • Each action associated to – Priorities for each set of joints (viewed as ressources) – State (start, stop, running, inactive) • Automatic calculation of weights for each joint j and motion i k ij =f(priorities,states) [Ménardais 04a] – Ensuring continuity – Intuitive spec. and automatic calculation ( ) × + ε j j S P = 1 2 S S ∀ ∀ = j i i , j , k ( ) ⇒ ∀ 1 > 2 ∑ i , k k i × + ε c c S P i i ∀ > 1 2 i , P P i i i c …
How to synchronize motions • Dynamic time warping – Link to events in the original motions: foot- contacts [Ménardais 04b]
Resulting dynamic time warping
Synchronization demo
Conclusion • More than 200 actors in real-time with few shared motions • Only kinematics! – Dealing with dynamics – Ensuring that biomechanical laws are verified after modification (PCA [Le Gallennec 04] or general rules)
Recommend
More recommend