Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.

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.
Skinning CS418 Computer Graphics John C. Hart. Simple Inverse Kinematics Given target point (x,y) in position space, what are the parameters ( ,  )
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.
SE 313 – Computer Graphics Lecture 14: Armatures Lecturer: Gazihan Alankuş 1.
Linear Blend Skinning.
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.
Chapter 4: IMD Chapter 4: Character Animation Character Animation 1 Lecturer: Norhayati Mohd Amin.
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
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.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Animation. Outline  Key frame animation  Hierarchical animation  Inverse kinematics.
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  Conclusion.
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.
Interactive Graphics Lecture 18: Slide 1 Interactive Computer Graphics Lecture 18 Kinematics and Animation.
Chapter 5.2 Character Animation. CS Overview Fundamental Concepts Animation Storage Playing Animations Blending Animations Motion Extraction Mesh.
Advanced Graphics (and Animation) Spring 2002
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Computing & Information Sciences Kansas State University CIS 536/636 Introduction to Computer Graphics Lecture 22 of 41 William H. Hsu Department of Computing.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Skeletons and Skinning Bones and Skeletons Mesh Skinning Chapter 17 in the textbook.
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.
Character Animation for Realtime Applications Michael Putz Klaus Hufnagl Institute of Computer Graphics Graz University of Technology Austria.
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.
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.
CSE 381 – Advanced Game Programming Animation Systems Jack Skellington, from The Nightmare Before Christmas.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Rigging.
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.
1cs426-winter-2008 Notes  Will add references to splines on web page.
ECE 450 Introduction to Robotics Section: Instructor: Linda A. Gee 10/07/99 Lecture 11.
Computer Graphics Matrix Hierarchies / Animation
CS 450: COMPUTER GRAPHICS ANIMATION SPRING 2015 DR. MICHAEL J. REALE.
Computer Animation 3D Animation. How do I develop 3D models using a variety of editing tools and texturing techniques? Vocabulary: Meshes- Represent 3D.
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.
Introduction to Robotics In the name of Allah. Introduction to Robotics o Leila Sharif o
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.
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.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 19 and 20 Character Animation with Armature.
Computer Animation Algorithms and Techniques
COMPUTER GRAPHICS CHAPTER 35 CS 482 – Fall 2017 ANIMATION
Software Engineering and Game Development
Computer Animation Ying Zhu Georgia State University
Bones Skeletal Unity-2D How & When
Joshua Barczak CMSC 435 UMBC
Skeletons and Skinning
Computer Animation and Visualisation Lecture 4. Skinning
Chapter XIII Character Animation
Prepared by: Engr . Syed Atir Iftikhar
UMBC Graphics for Games
Computer Graphics Matrix Hierarchies / Animation
Presentation transcript:

Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009

2 Objectives Standard Hierarchical models not good enough for realistic characters ­Skeletal animation ­Skinning ­Introduce Cal3d

Humanoid Recall our humanoid: ­Each section separate geometry. ­Some movements reveal gaps / overlaps in geometry. ­Geometry stays the same shape during transformation. ­Fine for a basic robot…

Human Motion Humans… ­Continuous Geometry ­No Gaps or Overlaps during movement ­Geometry deforms ­How to do this for computer characters?

Human Anatomy Humans are made up of skeleton, muscles and skin. We only care about the cumulative effect of internal mechanism i.e. the skin. Can we simulate the effect of muscles and skeleton?

Skeletal Animation One answer is to use a skeletal animation system, which means we manipulate a skeleton (a series of bones), and this produces a desired effect on the skin (a polygon mesh). Some more advanced systems also simulate muscle structure. We will just cover bones and skinning.

Bones Basics Bones in 3D mimic joints, rather than actual bones. Bones are in a tree hierarchy. There is one root bone, and all bones are children of that bone, or children of it's children. Assuming the hip is the root bone, you might then have three children, left thigh, right thigh, midsection etc. Many modelling packages such as 3d studio have a standard set of bones. Bone movements are controlled by rotations.

Forward Kinematics Recall our Robot arm. The position of the arm can be determined from a series of rotations. ­Rotation at the “base” ­Rotation at the “shoulder” ­Rotation at the “elbow” Forward kinematics means determining the position of a vertex after the chain of rotations.

Inverse Kinematics The opposite of forward kinematics. The final position and orientation is known, but the series of rotations to get there must be calculated. Can lead to multiple possible solutions, some of which are physically impossible. Some solutions make no sense for human skeleton, and human behaviour. Required often in games, when hand, foot etc. need to be in correct place (e.g. fighting games, sports games).

Skinning The skin is represented as a polygon mesh, e.g. a set of vertices. Each vertex is associated with a bone in the skeleton, and moves relative to that bone. Vertices near joints are connected to multiple bones with a weighting system, e.g. at the elbow a vertex may move 60% in proportion to upper arm and 40% with lower arm.

3d Studio Skinning Blue = vertex “groups”. Inner White = geometry. Outer White = Bounding boxes. Red / Yellow = Bones. Green points = vertices affected by current (red) bone.

Why Use Skeletal Animation? Minimises work needed to do an animation: ­Due to hierarchy, child bones move when parent bones are moved. ­Animations stored as a series of joint rotations (in quaternions), more efficient storage than whole vertex sets. Produces smoother more realistic animation. ­Quaternions produce smooth animation when interpolated, without gimbal lock.

3d studio example NJA&feature=related

Quaternions Another way to represent rotations rather than a matrix. Uses complex number mathematics to represent axis. A quaternion is represented as a scalar value and a vector value: q= w + ai + bj + ck = cos(ang/2) + sin(ang/2)u

Using Quaternions The conjugate or inverse of a quaternion: q -1 = q->scalar + -(q->vector) Magnitude of a quaternion: |q| = sqrt(q*q -1 ) To normalise a quaternion: q->scalar/|q| + (q->vector)/|q| To rotate a point v around unit axis u, apply the quaternion multiplication: qvq -1

Using Quaternions Cont. To convert an axis and angle (ang) to a quaternion (q) – should normalise afterwards. sin_a = sin(ang/2) cos_a = cos(ang/2) q->x = axis->x * sin_a q->y = axis->y * sin_a q->z = axis->z * sin_a q->w = cos_a

Animation Blending Animations stored as series of rotations applied to specific joints. Animations that work on different joints (including children) can run simultaneously without interference e.g. walk and wave. Animations that affect the same joints can run simultaneously, but will interfere. Use a normalised weighting system to tell joints how much of each animation to apply.

Cal3d C++ Library for character animation. Exports from 3d studio, maya, (blender?) etc. Supports model loading, texturing, animation blending etc. rhg&feature=relatedhttp://uk.youtube.com/watch?v=LLzU23xJ rhg&feature=related

Practical? Have a play around with cal3d: