Paper Summaries � Any takers? Articulated Figures I Introduction Forward Kinematics Spacetime Constraints Projects Projects � Question about presentations � Exam Week Presentation day: � We have approx 19 projects � Thursday, March 2nd � Presentations: � 15 minutes (max) per project � 12:30pm -- 2:30pm � Sign up for time via e-mail (first come / first served) � Midquarter report due next Wednesday � Room 70-3445 � Grad Reports � We have 10 � Please indicate topic by end of day (e-mail) � 20 minutes per presentation � Week 9 Assignments More jobs � Assignment 1: Keyframing � Summer job teaching technology � Due last Wednesday � iD Tech Camps � Grading in progress � Assignment 2: Dynamics � 2D / 3D gaming � Due Wednesday, January 25th (Wed) � Powerpoint � Assignment 3: Group motion � Programming � Particle systems: posted Monday � Etc. � Flocking: posted Today � Due Monday, Feb 6th � See me for more details. 1
Reminder Plan for today � Next class is next door (70-1620). � Next 2 weeks: Articulated Figures � Monday: Forward Kinematics � Wednesday: Inverse Kinematics � Monday: Motion Capture � Wednesday: Advanced algorithms � Then � Monday: Character animation Motivation Films Motivational Film � Personal Favorites � Grinning Evil Death (1990) � Some of my favorite (articulated) animated � Mike McKenna (MIT Media Lab) characters. Plan For Today Behavioral Animation � Topics � Behavioral Animation on a large scale � Intro to Articulated Figures � (to be shown next time) � Forward Kinematics � MASSIVE � Spacetime Constraints (http://www.massivesoftware.com) � Created for and used in the battle scenes in Lord of the Rings � But first… � Link 2
Behavioral Animation Assignment # 3b � Levels of behavior � Flocking � To be given after the break. Building an animated character Building an animated character � Skeleton � Rigging � An underlying network of bones used to define � The process of preparing a character and control the motion of a model during model for animation, including setting up character animation. Moving a bone causes the an underlying skeleton, complete with mesh of the model to move and deform. constraints, controllers and kinematic � Skinning systems, and linking it to the mesh of the � The process of binding the surface of a model to character model. the underlying skeleton during character rigging. Articulated Figures Articulated Figures � What is an articulated figure? � A set of rigid objects connected by joints � Individual joints are linked together in a parent-child hierarchy � Each object has a joint at one end where any child bones may be attached. � The skeleton 3
Articulated Figures Articulated Figures � main figure is described in terms of a global frame of reference � each individual joint is assigned its own separate local co-ordinate frame of reference � This coordinate system is with respect to it’s parent. � Can concatenate transformation matrices Articulated Figures Articulated Figures � T BW = transformation of B wrt world � T AW = transformation of A wrt world � T BA = transformation of B wrt A = ⋅ T T T BW BA AW Articulated Figures Articulated Figures � Given in graph form � Now let’s consider rotations 4
Articulated Figures Articulated Figures � Multiple joints � Most rendering systems / API maintain a transformation matrix stack � Push when going into the hierarchy � Pop when leaving the hierarchy Articulated Figures Articulated Figures � Stack of transformation matrices robot Finger wrt hand base Upper body Hand wrt arm Arm wrt body arm Body wrt world thumb Articulated Figures Articulated Figures Define your camera orientation � We know how to transform of each component with respect to another Push Matrix Concatenate transformation for robot as a whole component. PushMatrix � Use the matrix stack in order to calculate Concatenate transformations for robot base wrt the center of the robot the local coordinates of each component. Draw robot base Pop Matrix Push matrix Concatenate transformations for robot body wrt the center of the robot Draw robot body … 5
Articulated Figures Articulated Figures Push Matrix � applets Concatenate Transformations of Arm wrt body Draw arm Push Matrix Concatenate Transformation of Thumb wrt Arm Draw thumb Pop Matrix // Thumb Pop Matrix // Arm Pop Matrix // body � Questions? Pop Matrix // robot Joint Constraints Degrees of freedom � Note that translation should not be allowed. � Degrees of freedom � Any joint is only permitted to rotate about the � Number of parameters three local axes of its parent joint. whose values must be � However, you may wish to limit the extent of defined in order to fully rotation position the articulated figure � Disallow rotation about one of the axes � Provide rotational constraints to a given axis. 44 DOF: 38 (joint angles) + 6 � (position and orientation) Degrees of freedom Animation Control � Motion data can be defined as � Purpose of animation � Provide values to each of the DOF for each time step. � f(t) – function of time � So how does one do this? � One function for each degree of freedom � Keyframing – curve editors � How many functions is that? � Kinematics – based on position / velocity � For a CG character � Procedural � Dynamics – use physics � Typically 40-50 DOF Animator � Use heuristics � For a real human control � Use AI � > 250 DOF � Motion capture � Purpose of animation � Using sampled data. � Provide values to each of the DOF for each time � Questions? step. 6
End Effectors End Effectors � End effectors robot � Term, borrowed from robotics, that describes the end of a jointed link � Also can be described as the bottom node base Upper body in a hierarchy arm thumb Motion spaces Forward vs Inverse Kinematics � Forward Kinematics � Joint space � Define values for joint angles � Multidimensional space of joint angles � Determines positions of end effectors � Dimensionality = degrees of freedom � X = f ( θ ) � End effector space � Inverse Kinematics � Multidimensional space of end effectors � Define positions of end effectors � Dimensionality = number of end effectors � Determine joint angles to make it so � Essentially described in world coords � θ = f -1 (X) Forward vs Inverse Kinematics Inverse Kinematics � Goal directed motion X = f ( θ ) � Reach over and grab that thing! � Note: roach motion (Grinning Evil Death) was goal directed � Easier to specify Forward � Harder to compute Kinematics Joint space Space � More on Inverse Kinematics next time. θ X Inverse Kinematics � Questions? � Break θ = f -1 (X) 7
Standard Human Hierarchies Standard Human Hierarchies � H-Anim � H-Anim � Goals � Standard link/joint hierarchy with limits and constraints � specify a way of defining interchangeable humanoids and animations in standard VRML � Based on anatomical references 2.0 without extensions. � Animations include limb movements, facial expressions and lip synchronisation with sound. � Our goal is to allow people to author humanoids and animations independently. H-Anim H-anim Examples � Nancy � Baxter � Dilbert MPEG-4 MPEG-4 and VRML � The MPEG-4 standard, initiated in 1995, aims � Work of MPEG-4 systems group was at proposing tools for efficient coding of inspired and based on VRML. multimedia scenes. � MPEG-4 = VRML + extensions. � efficient coding of diverse kind of data : � Video Objects � StillTexture Objects � Face Objects � Body Objects � Mesh Objects 8
Body Animation in MPEG-4 Body Animation in MPEG-4 � BAP (Body Animation Parameter) contains 296 parameters describing the topology of the skeleton. � Interoperates with the work of the H-Anim group � The BDP set defines the set of parameters to transform the default body to a customized body optionally with its body surface, body dimensions, and texture. Take Home Message Dynamics � There are standards for human body � To get realistic motion, go to the source hierarchies � Any others? � In the game word perhaps? � Questions? Dynamics Spacetime Constraints � Determine values for DOF by simulation � Method developed by Witkin and Kass of physical forces. (1988) � Problem with dynamics � Goals: � Little animator control � Benefits of realistic physically based motion � Animator provides initial conditions � Provide animator with a bit more control � Simulation does the rest � Experimented with Luxo � Can we give back some control to the animator? 9
Recommend
More recommend