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.

Slides:



Advertisements
Similar presentations
Today Composing transformations 3D Transformations
Advertisements

Animation in Video Games presented by Jason Gregory
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.
Chapter 5.2 Character Animation. 2 Overview Fundamental Concepts Animation Storage Playing Animations Blending Animations Motion Extraction Mesh Deformation.
3D Graphics for Game Programming (J. Han) Chapter XI Character Animation.
Lecture 2: linear algebra, animation basics
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.
Jinxiang Chai CSCE441: Computer Graphics Coordinate & Composite Transformations 0.
Computer Graphics Recitation 2. 2 The plan today Learn about rotations in 2D and 3D. Representing rotations by quaternions.
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
3D orientation.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
CSCE 689: Computer Animation Rotation Representation and Interpolation
CSCE 441: Computer Graphics Rotation Representation and Interpolation
CSCE 641: Computer Graphics Rotation Representation and Interpolation Jinxiang Chai.
Animation. Outline  Key frame animation  Hierarchical animation  Inverse kinematics.
Midterm Review CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
Orientations Goal: –Convenient representation of orientation of objects & characters in a scene Applications to: – inverse kinematics –rigid body simulation.
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Technical Background.
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.
1 KIPA Game Engine Seminars Jonathan Blow Seoul, Korea December 7, 2002 Day 11.
CS 450: COMPUTER GRAPHICS 3D TRANSFORMATIONS SPRING 2015 DR. MICHAEL J. REALE.
Chapter 5.2 Character Animation. CS Overview Fundamental Concepts Animation Storage Playing Animations Blending Animations Motion Extraction Mesh.
Mathematical Fundamentals
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
Rick Parent - CIS681 ORIENTATION Use Quaternions Interpolating rotations is difficult.
Character Animation for Realtime Applications Michael Putz Klaus Hufnagl Institute of Computer Graphics Graz University of Technology Austria.
Character Animation. Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall
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.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
Maths & Technologies for Games Animation: Practicalities CO3303 Week 3.
CSCE 552 Fall 2012 Animations By Jijun Tang. Animation terms  frame – an image that is displayed on the screen, usually as part of a sequence.  pose.
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.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Math Review.
CS 450: COMPUTER GRAPHICS ANIMATION SPRING 2015 DR. MICHAEL J. REALE.
CSCE 552 Spring 2009 Animation By Jijun Tang. Inverse of 4x4.
Skeletal Animation and Skinning A (hardware friendly) software approach By: Brandon Furtwangler.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Advanced Math.
Jinxiang Chai CSCE441: Computer Graphics Coordinate & Composite Transformations 0.
Object Animation CMT3317. Do you need to do animation? We consider ways of animating composite objects – that have a number of different parts e.g. a.
CSCE 552 Spring 2010 Animation By Jijun Tang.
Character Animation Forward and Inverse Kinematics
Computer Animation Algorithms and Techniques
CPSC 641: Computer Graphics Rotation Representation and Interpolation
CSCE 552 Fall 2012 Animations By Jijun Tang.
Bones Skeletal Unity-2D How & When
COMP 175: Computer Graphics February 9, 2016
Skeletons and Skinning
Computer Animation and Visualisation Lecture 4. Skinning
Chapter 5.2 Character Animation
Chapter XIII Character Animation
UMBC Graphics for Games
Prepared by: Engr . Syed Atir Iftikhar
UMBC Graphics for Games
CSCE441: Computer Graphics Coordinate & Composite Transformations
UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN
Game Programming Algorithms and Techniques
Emerging Technologies for Games Review & Revision Strategy
Presentation transcript:

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 Not necessarily a matrix (later) How it differs from its parent If its transform is identity matrix Same translation Same rotation (orientation) The root bone has no parent (e.g. pelvis) Rotations/translations are relative to local coordinates There are also synthetic root bones (ground shadows)

Kinematics Forward kinematics Moving a parent bone moves the children Easy to program, hard to animate Inverse kinematics (IKs) Moving child bones affects parent bone Easier for animators Solve iteratively Need to draw this on the board…

Euler Angles (pronounced “Oi-luh”) 3 angles to describe orientation around 3 axes Order of rotations is important! Two rotations can result in the same orientation Usually stored in a 3x3 matrix. Two similar rotations have similar values in matrices Linear blending will be ok Size is large

Enter the Quaternion Another way to represent rotations Great for interpolation (thus, common) Uses 4 components (x, y, z, w) In general, (x, y, z) is the axis of rotation Length of (x, y, z) is sine of half the rotation angle w is the cosine of half the rotation angle (20° vs. 340°)

Animation vs. Deformation Animation Changing poses to the skeleton over time No sense of the vertices that surrounds it Deformation Applying the skeleton to the mesh No sense of animation (time) Animation Controls Need to be able to start, stop, determine time, change speed Have a control for each animation for each instance of object

Animation Storage

Eliminate unnecessary data Most bones don’t need shear, scaling Some don’t need translation (hips, knees, elbows) Some characters hardly move! Space Scaling, Shearing, Translation = 3 Rotation (quaternions) = 4 T.K. Baha from Borderlands

Animation Storage Note: We’re now at 110MB, still 5 times bigger than budget for Wii. Can we do better?

Animation Storage Obvious candidate: don’t use 30 fps! Keyframing: set important poses and then interpolate (old animation technique) On “average”, 10 keyframes per second 1/3 the space = 37MB! OK for Xbox (64MB), bad for Wii (22MB) Keyframing problems: Loses data Note: we’re at 37MB. Can we do better?

Animation Storage

Continuity Image from Autodesk.com

Playing Animations Local time is in reference to the animation E.g. 0.0 – 5.0 for a 5 second animation Can also normalize from and have playback speed Global time is the elapsed time May not match the local time Can pause

Blending Animations Playback of multiple animations together Linear Interpolation (aka “lerp”) For quaternions Normalizing lerp (nlerp) – each component is linearly blended and then renormalized Spherical lerp (slerp) – the most common Log-quaternion lerp – complex

Blending Animations Bone masks: Imagine waving and walking at the same time 0.0 = don’t use this bone when blending 1.0 = completely include that bone 0.5 = fractional blend

Motion Extraction Things get hard when the character moves Animator may/not model at (0,0,0) What happens during walking? Sliding feet? What about climbing a ledge? Must match world/physics engine! Motion Extraction: “process of taking an animation and deriving the overall movement of a character” – from your text!

Motion Extraction What if the model doesn’t stay at the origin? Linear Motion Extraction Take position of root bone at first/last frame Divide by duration Works great for straight lines Not so great for running in circles Composite Motion Extraction Takes into account the rotation Variable Delta Extraction – just ask the root bone how much it moved since the last frame

Example

Mesh Deformation 1. Transform each bone into World Space 1. Start at the root of the skeleton 2. Multiply it’s transform by the instance’s transform (you now know where the root bone is in the world) 3. Take the transform of each child bone and multiply it by the root bone’s world transform 4. Use recursion all the way down

Mesh Deformation 2. Find the delta from the rest pose 1. Must “undo” the rest pose using the inverse transform 2. Multiply world transform by the inverse 3. Deform the vertices 1. Each vertex is affected by several bones (4 max) 2. Influential bones stored as a list of bytes 4. Deform the vertex normals

Other Considerations