CPSC 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai.

Slides:



Advertisements
Similar presentations
Hierarchical Transformation. Summary Alternatively, OpenGL thinks: A transformation updates the coordinate system. For each change, the transformation.
Advertisements

1 Characters. 2Introduction The Characters are the Actors of the Games. The Characters are the Actors of the Games. Three Types of Characters : Three.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
3D Graphics for Game Programming (J. Han) Chapter XI Character Animation.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Lecture 2: linear algebra, animation basics
Forward Kinematics. Focus on links chains May be combined in a tree structure Degrees of Freedom Number of independent position variables (i.e. joints.
WSCG’07 Jonathan Kipling Knight 1 Feb 2007 Copyright © Jonathan Kipling Knight 2007 Fast Skeleton Estimation from Motion Capture Data using Generalized.
Lecture 5 Jinxiang Chai. Outline Motion capture data format Class homepage & paper assignment Presentation tips.
Character Setup Character Setup is the process of creating handles and controls for anything that a character animator will need to adjust in order to.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Motion Editing and Retargetting Jinxiang Chai. Outline Motion editing [video, click here]here Motion retargeting [video, click here]here.
Jinxiang Chai CSCE441: Computer Graphics Coordinate & Composite Transformations 0.
Presentation About Anatomy- Based Joint Models for Virtual Humans Skeletons Prepared By Khloud Zain Al-Abdeen Najwa Al-Ghamdi
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
CSCE 441 Computer Graphics: Animation with Motion Capture
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Lecture 4: Motion Capture Jinxiang Chai. Outline Mocap history Mocap technologies Mocap pipeline Mocap Data Mocap Challenges.
CSCE 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Drawing a Skeleton Fast From Motion Capture Data Jonathan Kipling Knight Nov 7, 2006.
Motion Representation & forward Kinematics Jinxiang Chai.
Midterm Review CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
CPSC 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai.
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
Animation CMSC 435/634. Keyframe Animation From hand drawn animation – Lead animator draws poses at key frames – Inbetweener draws frames between keys.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.
Characters.
Lecture Fall 2001 Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics.
Forward Kinematics and Jacobians Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.
ME/ECE Professor N. J. Ferrier Forward Kinematics Professor Nicola Ferrier ME Room 2246,
Advanced Graphics (and Animation) Spring 2002
Motion Capture. Animation – A broad Brush Traditional Methods  Cartoons, stop motion Keyframing  Digital inbetweens Motion Capture  What you record.
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Character Animation. Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall
110/27/ :47 Graphics II Animation Introduction and Motion Control Session 6.
Jinxiang Chai CSCE441: Computer Graphics 3D Transformations 0.
Jinxiang Chai Composite Transformations and Forward Kinematics 0.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
Skeletal Animation and Skinning A (hardware friendly) software approach By: Brandon Furtwangler.
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.
Inverse Kinematics CSIS 5838: Graphics and Animation for Gaming.
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
Forward Kinematics Where is my hand ?. Examples Denavit-Hartenberg Specialized description of articulated figures (joints) Each joint has only one degree.
Jinxiang Chai CSCE441: Computer Graphics Coordinate & Composite Transformations 0.
CGDD 4003 Character Animation. The Skeletal Hierarchy (aka the “rig”) Based on the concept of bones Each bone has exactly one parent Each bone has a transform.
CSCE 441 Computer Graphics: Animation with Motion Capture
CPSC 641 Computer Graphics: Animation with Motion Capture
Character Animation Forward and Inverse Kinematics
Computer Animation Ying Zhu Georgia State University
Three-Dimensional Graphics
CHAPTER 2 FORWARD KINEMATIC 1.
Skeletons and Skinning
CSCE 441: Computer Graphics Forward/Inverse kinematics
Chapter XIII Character Animation
Prepared by: Engr . Syed Atir Iftikhar
UMBC Graphics for Games
Three-Dimensional Graphics
CSCE441: Computer Graphics Coordinate & Composite Transformations
Presentation transcript:

CPSC 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai

Data Process 3D marker positions (.c3d file) Inverse Kinematics Joint angle data (.amc file) Complete 3D marker trajectories (.c3d file) Fill in missing data Filter mocap data How to represent motion data in joint angle space?

How to represent human motions?

A sequence of poses: q 1,q 2,…q T Each pose is represented as a high-dimensional vector q t : R n Motion trajectoriesPose q t Motion q 1,…q T Human motion representation

How to represent human motions?

-The body proportion and size of characters - the joint angle values across the entire sequence

Motion Capture Data Files Each sequence of human motion data contains two files: – Skeleton file (.asf): Specify the skeleton model of a character – Motion data file (.amc): Specify the joint angle values over the frame/time – Both files are generated by Vicon software

Human skeletal file Described in a default pose

Human skeletal model This is still a tree!

Human skeletal model This is still a tree! How to describe the skeletal model? What should you know about each bone?

Human skeletal file (.asf) individual bone information - length of the bone - direction of the bone - local coordinate frame - number of Dofs - joint limits bone hierarchy/connections

Individual bone information begin id bone_id /* Unique id for each bone */ name bone_name /* Unique name for each bone */ direction dX dY dZ /* Vector describing direction of the bone in world */ coor. system length /* Length of the bone*/ axis XYZ /* Rotation of local coordinate system for this bone relative to the world coordinate system. In.AMC file the rotation angles for this bone for each time frame will be defined relative to this local coordinate system**/ dof rx ry rz /* Degrees of freedom for this bone. limits ( ) /* joint limits*/ ( ) ( ) end

Individual bone information begin id 2 name lfemur direction length axis XYZ dof rx ry rz limits ( ) ( ) ( ) end xwxw ywyw zwzw

Individual bone information begin id 2 name lfemur direction length axis XYZ dof rx ry rz limits ( ) ( ) ( ) end xwxw ywyw zwzw

Individual bone information begin id 2 name lfemur direction length axis XYZ dof rx ry rz limits ( ) ( ) ( ) end xwxw ywyw zwzw

Individual bone information begin id 2 name lfemur direction length axis XYZ dof rx ry rz limits ( ) ( ) ( ) end xwxw ywyw zwzw xkxk ykyk zkzk Euler angle representation:R k =R z (γ)R y (β)R x (α)

Individual bone information begin id 2 name lfemur direction length axis XYZ dof rx ry rz limits ( ) ( ) ( ) end xwxw ywyw zwzw xkxk ykyk zkzk - The number of dof for this joint - The minimal and maximum joint angle for each dof

Individual bone information begin id 2 name lfemur direction length axis XYZ dof rx ry rz limits ( ) ( ) ( ) end xwxw ywyw zwzw ykyk xkxk zkzk 1-dof joint2-dof joint3-dof joint

Individual bone information begin id 2 name lfemur direction length axis XYZ dof rx ry rz limits ( ) ( ) ( ) end begin id 3 name ltibia direction length axis XYZ dof rx limits ( ) end xkxk zkzk X k+1 z k+1 ykyk y k+1

Individual bone information begin id 2 name lfemur direction length axis XYZ dof rx ry rz limits ( ) ( ) ( ) end begin id 3 name ltibia direction length axis XYZ dof rx limits ( ) end xkxk zkzk X k+1 z k+1 ykyk y k+1 What do we miss?

Individual bone information begin id 2 name lfemur direction length axis XYZ dof rx ry rz limits ( ) ( ) ( ) end begin id 3 name ltibia direction length axis XYZ dof rx limits ( ) end xkxk zkzk X k+1 z k+1 ykyk y k+1 What do we miss? - global position - global orientation

Root representation :root order TX TY TZ RX RY RZ axis XYZ position orientation xwxw ywyw zwzw

Root representation :root order TX TY TZ RX RY RZ axis XYZ position orientation xwxw ywyw zwzw How to compute the coordinate of a joint in the world coordinate frame?

Root representation :root order TX TY TZ RX RY RZ axis XYZ position orientation xwxw ywyw zwzw How to compute the coordinate of a joint in the world coordinate frame?

:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end Hierarchy/Bone Connections

:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end root rhipjoint lowerback Hierarchy/Bone Connections

:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end root rhipjointlhipjoint lowerback lfemur Hierarchy/Bone Connections

:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end root rhipjointlhipjoint lowerback lfemur Hierarchy/Bone Connections ltibia

:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end root rhipjointlhipjoint lowerback lfemur Hierarchy/Bone Connections ltibia lfoot

:hierarchy begin root lhipjoint rhipjoint lowerback lhipjoint lfemur lfemur ltibia ltibia lfoot lfoot ltoes rhipjoint rfemur rfemur rtibia rtibia rfoot rfoot rtoes lowerback upperback upperback thorax thorax lowerneck lclavicle rclavicle … end root rhipjointlhipjoint lowerback lfemur Hierarchy/Bone Connections ltibia lfoot ltoe

What can we do with.asf file? We can visualize the default pose We can compute various transforms in the default pose - between world coordinate frame and local coordinate - between parent coordinate frame and child coordinate frame

From local coordinate to world coordinate xwxw ywyw zwzw ykyk xkxk zkzk

xwxw ywyw zwzw ykyk xkxk zkzk ??

xwxw ywyw zwzw ykyk

xwxw ywyw zwzw ykyk xkxk zkzk

From child to parent node How to Compute the transformation T k k-1 from a child local coordinate frame to its parent local coordinate frame x T k k-1

Bone transform world parent child T k k-1 ?

Bone transform world parent child T k k-1 ?

Bone transform world parent child T k k-1 ?

Forward kinematics How to compute the coordinate of a joint in the world coordinate frame? xwxw ywyw zwzw

Forward kinematics How to compute the coordinate of a joint in the world coordinate frame? xwxw ywyw zwzw

Forward kinematics How to compute the coordinate of a joint in the world coordinate frame? xwxw ywyw zwzw

Forward kinematics How to compute the coordinate of a joint in the world coordinate frame? xwxw ywyw zwzw We need to consider joint angle values!

Motion data file (.amc) i // frame number root // root position and orientation lowerback // joint angles for lowerback joint upperback // joint angles for thorax joint thorax lowerneck upperneck head rclavicle e e-014 rhumerus rradius rwrist rhand rfingers rthumb lclavicle e e-014 lhumerus

Motion data file (.amc) i // frame number root // root position and orientation lowerback // joint angles for lowerback joint upperback // joint angles for thorax joint thorax lowerneck upperneck head rclavicle e e-014 rhumerus rradius rwrist rhand rfingers rthumb lclavicle e e-014 lhumerus Rotation described in local coordinate frame - Euler angle representation x-y-z

Composite 3D Transformation 46 From.asf file

Composite 3D Transformation 47 From.amc file

Composite 3D Transformation 48

Composite 3D Transformation 49

Composite 3D Transformation 50

Composite 3D Transformation 51

Motion capture data

Some character models

More complex models

Mesh skinning Skinning is the process of binding a skeleton to a single mesh object Skinning deformation is the process of deforming the mesh as the skeleton is animated or moved.

Mesh skinning Cylinder Being Deformed by Two Bones

Skinning basics For each vertex, compute the position by

Skinning basics For each vertex, compute the position by v: undeformed vertex position

Skinning basics For each vertex, compute the position by v: undeformed vertex position v’: deformed vertex position

Skinning basics For each vertex, compute the position by v: undeformed vertex position v’: deformed vertex position M i : articulated motion

Skinning basics For each vertex, compute the position by v: undeformed vertex position v’: deformed vertex position M i : articulated motion w i : blending weight

Skinning basics For each vertex, compute the position by v: undeformed vertex position v’: deformed vertex position M i : articulated motion w i : blending weight Specified by artists From mocap data From mesh model

The "Bind Pose”

Mesh skinning Skeleton causing deformation of a single skin mesh