Chapter XIII Character Animation

Slides:



Advertisements
Similar presentations
Animation in Video Games presented by Jason Gregory
Advertisements

Animation Parenting 1Copyright © Texas Education Agency, All rights reserved. Images and other multimedia content used with permission.
Manipulator’s Inverse kinematics
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.
Linear Blend Skinning.
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.
Chapter 4: IMD Chapter 4: Character Animation Character Animation 1 Lecturer: Norhayati Mohd Amin.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Introduction to Robotics
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
UFCEKT-20-33D Modelling and Animation 3D Modelling & Animation Character Animation: Skeletons and Joints.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
1cs426-winter-2008 Notes  Collision notes part 1 (primitive operations) should be up on the weekend.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Inverse Kinematics.
Serial and Parallel Manipulators
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
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.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology 3D Engines and Scene Graphs Spring 2012.
Characters.
Advanced Graphics (and Animation) Spring 2002
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
15/09/2015handout 31 Robot Kinematics Logics of presentation: Kinematics: what Coordinate system: way to describe motion Relation between two coordinate.
Chapter 2 Robot Kinematics: Position Analysis
INVERSE KINEMATICS ANALYSIS TRAJECTORY PLANNING FOR A ROBOT ARM Proceedings of th Asian Control Conference Kaohsiung, Taiwan, May 15-18, 2011 Guo-Shing.
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Computer Graphics Soft Body Animation - Skinning CO2409 Computer Graphics Week 22.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.
FPGA-Realization of Inverse Kinematics Control IP for Articulated Robot Advisor : Ying Shieh Kung Student: Bui Thi Hai Linh.
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.
Robot Kinematics: Position Analysis 2.1 INTRODUCTION  Forward Kinematics: to determine where the robot ’ s hand is? (If all joint variables are known)
What is Kinematics. Kinematics studies the motion of bodies.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Computer Graphics Matrix Hierarchies / Animation
CS 450: COMPUTER GRAPHICS ANIMATION SPRING 2015 DR. MICHAEL J. REALE.
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.
Inverse Kinematics CSIS 5838: Graphics and Animation for Gaming.
3D GRAPHICS RENDERING PIPELINE CS / TECHNICAL BACKGROUND PAGE 11.
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.
Robotic Arms and Matrices By Chris Wong and Chris Marino.
COMPUTER GRAPHICS CHAPTER 35 CS 482 – Fall 2017 ANIMATION
Software Engineering and Game Development
Mitsubishi robot arm.
INVERSE MANIPULATOR KINEMATICS
Bones Skeletal Unity-2D How & When
CHAPTER 2 FORWARD KINEMATIC 1.
Introduction to manipulator kinematics
CSE4421/5324: Introduction to Robotics
CSC4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University Transformations.
Skeletons and Skinning
Homogeneous Transformation Matrices
Computer Animation and Visualisation Lecture 4. Skinning
CSE4421/5324: Introduction to Robotics
Chapter IV Spaces and Transforms
CSCE 441: Computer Graphics Forward/Inverse kinematics
Chapter III Modeling.
Chapter V Vertex Processing
UMBC Graphics for Games
Chapter 2 Mathematical Analysis for Kinematics
Chapter 4 . Trajectory planning and Inverse kinematics
Computer Graphics Matrix Hierarchies / Animation
Presentation transcript:

Chapter XIII Character Animation

Skeleton The most popular method to animate a character is to use a skeleton. It is an instance of an articulated body and is composed of a set of connected rigid components, bones. The initial pose of a character is called the default pose. See (a). 3ds Max provides a few skeleton template named ‘biped.’ See (b). Such a template can be edited. See (c). The skeleton is embedded into the character mesh. See (d). It is then made to fit to the default pose. See (e) and (f). The bones are depicted as if they were solids. However, they are not. When the skeleton is made to fit to the default pose, a matrix is computed per bone.

Skeleton (cont’d) Skeletal hierarchy

Space Change between Bones The bones are connected at joints, which allow the rigid skeleton to animate in an articulated fashion. See the example, which consists of three bones (upper arm, forearm, and hand) and three joints (shoulder, elbow, and wrist). When the forearm moves, for example, vf has to move accordingly. It is simply achieved if vf is defined in the forearm's object space. Initially, all vertices of the default pose are defined in the object space of the character. To avoid confusion with the object space of a bone, let’s simply call the character’s object space character space. Every character-space vertex of the default pose needs to be transformed into the object space of the bone (which we call bone space henceforth) it belongs to. For example, vf will be transformed into the forearm's bone space so as to have the coordinates (2,0).

Space Change between Bones (cont’d) For now, consider the opposite direction, i.e., from the bone space to the character space. If we can compute such a bone-to-character transform, its inverse can be used to convert a character-space vertex into the bone space. Consider the to-parent transform of the forearm, which transforms a forearm vertex to the space of its parent. Now consider the to-parent matrix of the hand. Given a vertex at a bone, we can concatenate the to-parent matrices so as to transform the vertex into the bone space of any ancestor in the skeleton.

Character Space to Bone Space The to-parent matrix is denoted by Mi,p. Let us denote the transform from the bone space to the character space by Mi,d, where d stands for default pose. M1,d=I. The spine’s transform to the character space: The clavicle’s transform to the character space: Let’s generalize

Character Space to Bone Space (cont’d) So far, we have considered the transform from the bone space to the character space. However, what is needed in an articulated-body animation is its inverse. Given the default pose, the to-parent transform of each bone, Mi,p, is immediately determined, and so is its inverse, Mi,p-1. Computing Mi,d-1 requires Mi-1,d-1 to be computed in advance. We can compute Mi,d-1 for every bone through the top-down traversal of the skeleton hierarchy.

Forward Kinematics We have identified the transform that converts a character-space vertex “in the default pose” to the i-th bone's space. Now the i-th bone is animated. Then, the vertices belonging to the bone are accordingly animated. For rendering, the animated vertices should be transformed back to the character space. (Then, they will be transformed to the world space, camera space and so forth, along the pipeline.) Let us compute the matrix for animating v5 and transforming it back to the character space. We name the matrix M5,a.

Forward Kinematics (cont’d) Consider the forearm’s local transform M5,l. It is applied to v5. Whereas v5 is fixed to (2,0), v5´ represents the coordinates with respect to the original bone space of the forearm “before rotation.” The bone spaces of the upper arm and forearm “before rotation” are related by the to-parent matrix M5,p and therefore the coordinates of v5´ “in the upper arm’s space” are computed using M5,p.

Forward Kinematics (cont’d) We obtained the coordinates of “animated v5” in the upper arm’s space. The upper arm can also be animated. Let M4,a denote the matrix that animates the upper arm’s vertex and transforms it into the character space. Then, M5,a is defined in terms of M4,a together with M5,pM5,l. It is generalized as follows:

Forward Kinematics (cont’d) When the artist defines the animated pose of the i-th bone, Mi,l is obtained. Mi,p was obtained from the default pose. So, computing Mi,a simply requires Mi-1,a to be computed in advance. M1,a representing the pose of the animated pelvis is defined by the artist. We can compute the character transforms of all bones “in the animated pose” also in the top-down fashion. When vd and va denote the character-space vertices “in the default pose” and “in the animated pose,” respectively, we have the relation:

Forward Kinematics (cont’d) A character-space vertex in the default pose, which we denote by v, is transformed to the bone space by Mi-1,d-1 . Then, it is animated and transformed back to the character space by Mi,a.

Skinning Suppose that vertex a belongs to the upper arm whereas b and c belong to the forearm. Fig. Then, the deformed skin is not smooth. The problem can be alleviated by making multiple bones affect a vertex and then blending the results, instead of binding a vertex to a single bone.

Skinning (cont’d) Consider the weights, w5 and w6.

Skinning (cont’d) In real-time 3D applications such as games, m is typically limited to four for programming efficiency.

Inverse Kinematics In robotics, an end effector refers to the device located at the end of a robotic arm. Forward kinematics computes the pose of the end effector as a function of the joint angles of the robotic arm. The reverse process is called inverse kinematics (IK). Given the desired pose of the end effector along with the initial pose of the robotic arm, the joint angles of the final pose are calculated. The number of independent variables defining the state of an object is called the degrees of freedom (DOF).

Inverse Kinematics - Analytic Solution

Inverse Kinematics - Cyclic Coordinate Descent

Inverse Kinematics - Example