2014 Animation Programming for Music Video Games Jessica Scott Harmonix Music Systems, Inc. October 10, 2014 #GHC14 2014.

Slides:



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

Blending & State Machines CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Unit 6 – Multimedia Element: Animation
1 Characters. 2Introduction The Characters are the Actors of the Games. The Characters are the Actors of the Games. Three Types of Characters : Three.
3D Graphics for Game Programming (J. Han) Chapter XI Character Animation.
SE 313 – Computer Graphics Lecture 14: Armatures Lecturer: Gazihan Alankuş 1.
Non-Uniform Bone Scaling From Art Pipeline to Real-Time Rendering.
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.
3D Game Programming All in One By Kenneth C. Finney.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi Most slides courtesy.
Professor Department of Computer Science & Engineering Indian Institute of Technology Delhi April 26, 2007 Visiting Professor Dayalbagh Educational Institute.
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
Animating reactive motion using momentum-based inverse kinematics CASA 2005.
1cs426-winter-2008 Notes  Collision notes part 1 (primitive operations) should be up on the weekend.
Dynamic Response for Motion Capture Animation Victor B. Zordan Anna Majkowska Bill Chiu Matthew Fast Riverside Graphics Lab University of California, Riverside.
Motion Capture By: Ali Hosseini. Definition of Motion Capture Motion capture is the recording of human body movement (or other movement) for immediate.
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
Chapter 8 – Part I Interactive Multimedia Authoring with Flash: Animation “Computers and Creativity” Richard D. Webster, COSC 109 Instructor Office: 7800.
Animation Theory.
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.
Explaining the principles of web animation Gladys Nzita-Mak.
Characters.
1 KIPA Game Engine Seminars Jonathan Blow Seoul, Korea December 7, 2002 Day 11.
INTRO TO THE CLASS Arts, Audio and Video Technology and Communications.
© 2011 Delmar, Cengage Learning Chapter 8 Building Complex Animations.
Chapter 5.2 Character Animation. CS Overview Fundamental Concepts Animation Storage Playing Animations Blending Animations Motion Extraction Mesh.
Computing & Information Sciences Kansas State University CIS 536/636 Introduction to Computer Graphics Lecture 22 of 41 William H. Hsu Department of Computing.
Creating Special Effects
© 2012 Adobe Systems Incorporated. All Rights Reserved. Copyright 2012 Adobe Systems Incorporated. All rights reserved. ® INTRODUCTION TO FLASH ANIMATION.
® Copyright 2010 Adobe Systems Incorporated. All rights reserved. ® ® 1 INTRODUCTION TO ADOBE FLASH PROFESSIONAL CS5.
Character Animation for Realtime Applications Michael Putz Klaus Hufnagl Institute of Computer Graphics Graz University of Technology Austria.
3D Animation 5. Character Animation Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Character Animation. Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall
Computing & Information Sciences Kansas State University Lecture 15 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 15 of 42 William H. Hsu.
SE 313 – Computer Graphics Lecture 6: Transformations Lecturer: Gazihan Alankuş Please look at the last three slides for assignments (marked with TODO)
Chapter 7 Animation Prepared by: Ms. Ma. Anna Corina G. Kagaoan College of Arts and Sciences.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.
Maths & Technologies for Games Animation: Practicalities CO3303 Week 3.
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.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
Blender Animation Basics I. Animation Basics  Selecting a preset format will set your frame rate correctly.
Adobe Flash Professional CS5 – Illustrated Unit D: Creating Animation.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Computer Animation 3D Animation. How do I develop 3D models using a variety of editing tools and texturing techniques? Vocabulary: Meshes- Represent 3D.
Autodesk - Maya How and what is Maya used for?. Introduction Autodesk Maya, is a 3D computer graphics software that can run on most computers. It was.
Skeletal Animation and Skinning A (hardware friendly) software approach By: Brandon Furtwangler.
Unity3D Animation. The Animation System supports –animation blending, –mixing, –additive animations, –walk cycle time synchronization, –animation layers,
Chapter 6.7 Animation. 2 Overview When to use animation Feedback to player about interaction with UI and in-game action Communicating environmental* conditions.
Computer Animation in Games For The Phoenix IEEE Society Wednesday, November 4, 2009 Ryan Anderson Senior Technology Engineer Rainbow Studios.
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.
Principles of Demonstrative Instructional Video Peyton R. Glore Assistant Professor School of Information Technology Macon State College October 17, 2007.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 19 and 20 Character Animation with Armature.
Animation.
Character Rigging for Animation in Maya
Software Engineering and Game Development
Computer Animation Ying Zhu Georgia State University
Chapter 6.7 Animation.
Bones Skeletal Unity-2D How & When
Perspective, Scene Design, and Basic Animation
Chapter 6.7 Animation.
Skeletons and Skinning
Chapter XIII Character Animation
INTRODUCTION TO FLASH ANIMATION
Chapter I Introduction
UMBC Graphics for Games
Computer Graphics Lecture 15.
Presentation transcript:

2014 Animation Programming for Music Video Games Jessica Scott Harmonix Music Systems, Inc. October 10, 2014 #GHC

About me −Lead engineer at Rock Band 2 & 3 The Beatles: Rock Band Dance Central 1, 2 & Spotlight −B.S. Computer Science & Studio Art, Williams College −M.S. Visualization, Texas A&M University

2014 Why animation for games? −Why use character animation? Help people identify with characters Brings life to games and game worlds Can be used to show user what to do (Kinect games) The art department says so

2014 3D animation: the basics Artists create or process motion capture in 3D programs (Maya, 3D Studio Max, Motion Builder) Animation is exported into a format that a game engine can play back This is usually custom per game engine

2014 Why animation programming? −Why does it require programmers? Getting data out of animation programs isn’t magic Games have special requirements for memory/performance/response to user input

2014 Computer Representation −Skinning/bones Don’t want to represent the position of every mesh vertex at every point in time Standard practice: make a “skeleton”, store positions & rotations of “bones” at certain times Attach vertices to bones with offsets/weights: this is called skinning −Keyframes Way of storing animation poses at points in time Animation programs will interpolate between them

2014 Animation Playback −Set a series of in-game bones to the positions/rotations that were exported −The code to determine when to play what animation is another story…

2014 Memory & Performance  Animation often takes up a large percentage of a game’s memory & CPU budgets  Animation storage −Store rotation, position, scale for each bone  File size/memory usage reduction techniques −Compression −Blending

2014 Game Animation Special Needs  Why game animation is more complicated than movie animation −Choice: player control of characters −Real-time playback −Dynamic elements of game worlds (or, in Harmonix’s case, the music) determine what animations to play

2014 Blending  Basic technique needed for dynamic choice of animations −Combining multiple animations either within one frame or over time −We need it for natural-looking yet automatic transitions between different animations −Allows us to reuse shorter, smaller pieces of animation

2014 Blending  At one point in time, for one bone We do a lot of interpolating between rotations Rotations should be stored in local space instead of world

2014 Memory & Performance  Rotation storage: Quaternions −Better than rotation matrices Four floating point numbers  Interpolation of quaternions is fast, so blending is cheaper

2014 Blending  Time-based −Once you know how to blend within a single frame, the next step is to cross-fade between animations over time.

2014 Inverse Kinematics  Modifying a character’s joint positions and rotations based on physics constraints  Mathematical calculations are applied after regular skeleton posing  Don’t forget to modify the whole joint chain, or else...

2014 Game Examples  Dance Central: foot slide during blending Consider two dance moves that you want to blend together nicely. If a foot is on the ground and has weight on it at the end of one move, you don’t want to simply blend its position to the position in the new move, because it will look unrealistic and weird as it slides across the floor. Instead, you would either want the foot to remain in the same spot without moving, or to lift and then move to the new position- and if the character’s weight is on the foot, it shouldn’t lift.

2014 …

Game Examples  The Beatles: Rock Band: microphone lean-in We wanted to have the Beatles lean together into the microphone when they were singing harmony Added an IK constraint that pulled a character’s head to be six inches away from the microphone, then adjusted the neck and spine accordingly…

2014 Game Examples  And quickly realized: only turn it on if the character’s very close to the microphone.

2014 In conclusion…  Animation programmers have the best bugs

2014 Thank you for coming!  Meanwhile… Harmonix is hiring engineers. If you know anyone who might like to work on animation, gameplay, or network code with us, please have them me:

2014 Got Feedback? Rate and Review the session using the GHC Mobile App To download visit