Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.

Slides:



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

GRAPP, Lisbon, February 2009 University of Ioannina Skeleton-based Rigid Skinning for Character Animation Andreas Vasilakis and Ioannis Fudos Department.
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.
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.
Motion Capture CS294-7 Jacqueline Takeshita Mindy Lue.
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
3D orientation.
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.
Animation. Outline  Key frame animation  Hierarchical animation  Inverse kinematics.
Motion Capture in 3D Animation Animation : Movies Animation : Movies Video Games Video Games Robot Control Robot Control.
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.
Geometric Objects and Transformations Geometric Entities Representation vs. Reference System Geometric ADT (Abstract Data Types)
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.
Characters.
Lecture Fall 2001 Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics.
Chapter 5.2 Character Animation. CS Overview Fundamental Concepts Animation Storage Playing Animations Blending Animations Motion Extraction Mesh.
Modeling Skin Separate object(s) per limb (and joints) Continuous Skin
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Skeletons and Skinning Bones and Skeletons Mesh Skinning Chapter 17 in the textbook.
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
Key Frame Animation and Inverse Kinematics
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Rotations and Translations
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.
Character Animation. Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall
Computer Graphics Soft Body Animation - Skinning CO2409 Computer Graphics Week 22.
110/27/ :47 Graphics II Animation Introduction and Motion Control Session 6.
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.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
CS 450: COMPUTER GRAPHICS ANIMATION SPRING 2015 DR. MICHAEL J. REALE.
CS 551/651 Advanced Graphics Technical Background.
Skeletal Animation and Skinning A (hardware friendly) software approach By: Brandon Furtwangler.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.
Spring 2014 CS274: Automatic Rigging
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
Week 5 - Monday.  What did we talk about last time?  Lines and planes  Trigonometry  Transforms  Affine transforms  Rotation  Scaling  Shearing.
3D GRAPHICS RENDERING PIPELINE CS / TECHNICAL BACKGROUND PAGE 11.
2014 Animation Programming for Music Video Games Jessica Scott Harmonix Music Systems, Inc. October 10, 2014 #GHC
CPSC 641 Computer Graphics: Animation with Motion Capture Jinxiang Chai.
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.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 19 and 20 Character Animation with Armature.
Computer Animation Algorithms and Techniques
Software Engineering and Game Development
Computer Animation Ying Zhu Georgia State University
CSC4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University Transformations.
Skeletons and Skinning
Computer Animation and Visualisation Lecture 4. Skinning
Real-time Skeletal Skinning with Optimized Centers of Rotation
Chapter XIII Character Animation
Prepared by: Engr . Syed Atir Iftikhar
UMBC Graphics for Games
Synthesis of Motion from Simple Animations
Computer Graphics Lecture 15.
Presentation transcript:

Algirdas Beinaravičius Gediminas Mazrimas

 Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion and possible future tasks

 Motion capturing  Human body model animation ◦ Skeletal, joint-based structure ◦ Animation program environment (C++/OpenGL) ◦ Data interpretation ◦ Model deformations

 Motion capture ◦ What is Mocap? ◦ Mocap in everyday life and in our project  Various motion capture systems ◦ Optical, Magnetic, Mechanical, Inertial  Motion capture using Vicon Motion System ◦ Major elements of Vicon mocap system:  Cameras  Suit with retroreflective markers ◦ System preparations  Setting up cameras and system calibration  Capturing ◦ Post-processing

 Various motion data formats ◦ C3D, ASF/AMC, BVH, FBX  Used formats ◦ Default C3D format for Vicon Motion System  Binary format, saves 3D coordinates ◦ BVH format. Getting from C3D to BVH  Saves hierarchy (skeleton joint structure) and transformation data

 Linear blend skinning  Quaternions  Parametric representation of lines in 3D space  Inverse/Forward??? kinematics

 Skin deformations ◦ Anatomy (layer) based deformations ◦ Direct skin deformation  Linear blend skinning  Different implementations

 The anatomy based technique tries to mimic the muscle structure of a human. Normally 3 layers are used: skeleton, muscles+fat, skin. This approach usually works by layering  Individual muscles on the skeleton deform (stretch or bulge) following the motion of the skeleton. The final skin takes the overall shape of the muscle and fat layer of the animated character body.  Hard to implement as need big accuracy on following realistic muscle deformations.

 Deforming skin directly on the movement. LBS was publicly introduced by the game community, remains very popular because of fast computation speeds, but has it’s problems.  Named differently: Subspace Deformation, “smooth skinning”  Larger angles cause serious artifacts: collapsing elbow, candy-wrapper.  Solutions: adding extra transformation (joint, maybe also used for muscles), direct assignment of weight around the joint – manual labeling and different formula, interpolating transformations (using rotation/translation matrices directly in algorithm) and using quaternions as we did.

Before animation: Mesh model and skeleton in T-pose Mesh vertices assigned influencing joints with weights

 Replace three separate (Z, Y, X) rotations with a single rotation.  Solve the gimbal lock problem.

 Four scalars. q = a + i * b + j * c + k * d a – real dimension i * b, j * c, k * d – imaginary dimensions

i * i = j * j = k * k = -1 i * j = k j * i = -k j * k = i k * j = -i k * i = j i * k = j (a + i∗b + j∗c + k∗d) ∗ (e + i∗f + j∗g + k∗h) = (a ∗e - b∗f - c∗g - d∗h) + i∗(a∗f + b∗e + c∗h - d∗g) + j∗(a∗g- b ∗h + e∗c + d∗f) + k∗(a∗h + b∗g - c∗f + e∗d)

 Quaternion multiplication represents a rotation. ◦ q1 – representation of rotation around X axis ◦ q2 – representation of rotation around Y axis ◦ q3 – representation of rotation around Z axis ◦ q = q1 * q2 * q3 – representation of rotation around Z Y X axes.

 q = a + i * b + j * c + k * d ◦ a = cos(angle / 2) ◦ b = axisX * sin(angle / 2) ◦ c = axisY * sin(angle / 2) ◦ d = axisZ * sin(angle / 2) ◦ angle = arccos(a) * 2 ◦ sinA = sqrt(1 – a*a) ◦ vectorX = b/sinA ◦ vectorY = c/sinA ◦ vectorZ = d/sinA

 Rotation ends up with unsuspected results  Axes of rotations lock together

 Line segment connects separate mesh body parts  Each vertex on the segment is influenced by our LBS algorithm

 Parametric representation of the line: ◦ L(t) = A + b * t A – starting point, b = A – B vector, t - parameter A and B could be taken as two points on two separate meshes. By scaling t – proportional vertex positioning along the line is achieved.

 Technique, used to position body parts in 3D scene ◦ Each joint has it’s local transformation ◦ Global transformation of each joint depends on it’s parent transformation

 From a mathematical point of view: M n global = Π n i=0 M i local n – current joint in the hierarchy

 Every vertex on the connecting line is assigned a weight (by its position on the line) ◦ P=1..N  Rotation angle for each vertex: ◦ RotA = A*w, A – joint rotation angle  Our final LBS formula: ◦

 Initial BVH pose  Exploding knee problem  Mesh connections collapsing on complex deformations

?