基於編輯主要關節動線之動作合成法 在電腦動畫的研究領域中,動作合成 (Motion Synthesis) 一直是 3D 電腦動畫中非常 重要的研究課題。 在本論文中,我們提出了一個藉編輯人體主 要關節在空間中運動軌跡來合成三維人體動 作的方法以及相關應用之介面設計。 盧奕丞、劉庠宏、黃科森、楊熙年 國立清華大學
Outline Introduction Related Work System Overview Demonstration Conclusion
Introduction Character animations have been widely used in movies and games. It is still a challenging task for artists to generate high quality motions. Mocap system is difficult to reuse. Increasing demand for user-friendly tools for three-dimensional animations.
Hand-drawn Animations
Introduction Providing an interface for artists to create 3D human motion. Using Inverse Kinematics to compute joint angles. Using B-Spline Curves to represent joint trajectories. Exploiting Optimization method to fine tune the synthesized motion curves.
Introduction 3D trajectories are hard to sketch or create. In contrast, 2D trajectories can be easily created with a mouse or touchpad. Trajectories of Key-Joints: – root, head, – left wrist, right wrist, – left ankle, right ankle
Introduction B-spline interpolation is used to synthesis smooth trajectories. Once the positions of end joints are determined, Inverse Kinematics can be applied to calculate other joints. Optimizing motion quality.
Related Work Human Motion Creation - Keyframe & Interpolation - Procedure - Motion Capture
Related Work Human Motion Control - Dynamics: “ Physically Based Motion Transformation ” by Popovic and Witkin’s (1999). - Kinematics “ Three-Dimensional Human Running ” by Hodgins, J. K., (1996).
Template Skeleton 15 joints IK chain 1: root->throat->head IK chain 2 & 3: shoulder->elbow->hand IK chain 4 & 5: hip-joint->knee->foot
Components User Input: - skeleton file(*.asf) - motion file for initial pose(*.asm) - time length of motion. - sample points of joints trajectories.
Components B-Spline Manager - B-spline curves fitting to sample points. - returns positions of end joints. - edits trajectories of joints. Inverse Kinematics Computer - converts asf file to dh file. - use inverse kinematics to compute rotation angles of non-end joints.
Components Motion Optimizer - optimizes the motion from I.K. System Output - a motion player for motion viewing. - saves the computed motion.
Manipulation and Processing Loads a 3D template skeleton. Specifies time length. Draws 2D trajectories of key joints. Edits trajectories. Previews the motion. Saves the motion.
Refinement by Optimization The problems with computed motion curves. – Constraints on joint angles. – Constraints on end-effectors’ position. – Constraints on limb length. Refining the curves by optimization.
Refinement by Optimization Notation: Vector to be optimized:
Refinement by Optimization Frame Coherence : Joint Angles Constraint:
Refinement by Optimization Limb Length Constraint: End-Effectors' Constraint:
Refinement by Optimization Z-coordinate Coherence: when
Refinement by Optimization Solve the following objectives: End-Effectors weights are greater than other joints’ weights.
Implementation C# & Windows Form Microsoft Visual Studio 2005 Managed DirectX 9.0c (Render) RRG Kinematix (Inverse Kinematics) Wild Magic 4 (B-Spline) EngMATLib(connection between c# & MATLAB) MATLAB 2007a (Optimization)
Results Demonstration
Conclusion The method for creating three-dimensional human motion is presented based on sketching two-dimensional trajectories of Key-joints. Users can specify their expected motion by sketching 2D trajectories of projected joints.
Conclusion A user-friendly interface is devised for convenience. Optimization technique is used to guarantee the quality of synthesized motion curves.
Q & A Thank you