Procedural Character Animation for Interactive Systems (Games)

Slides:



Advertisements
Similar presentations
Blending & State Machines CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Advertisements

Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.
Automating Graph-Based Motion Synthesis Lucas Kovar Michael Gleicher University of Wisconsin-Madison.
Crowd Simulation Sai-Keung Wong. Crowd Simulation A process of simulating the movement of a large number of entities or characters. While simulating these.
Introduction to Data-driven Animation Jinxiang Chai Computer Science and Engineering Texas A&M University.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi Most slides courtesy.
Supporting Design Managing complexity of designing Expressing ideas Testing ideas Quality assurance.
Precomputed Search Trees: Planning for Interactive Goal-Driven Animation Manfred Lau and James Kuffner Carnegie Mellon University.
Animation From Motion Capture Motion Capture Assisted Animation: Texturing and Synthesis Kathy Pullen Chris Bregler Motion Capture Assisted Animation:
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
Rising from Various Lying Postures Wen-Chieh Lin and Yi-Jheng Huang Department of Computer Science National Chiao Tung University, Taiwan.
1cs426-winter-2008 Notes  Example final exam up in Work section of website Take with a grain of salt  Collision notes part 1 (primitive operations) up.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Interactive Control of Avatars Animated with Human Motion Data Jehee Lee Carnegie Mellon University Seoul National University Jehee Lee Carnegie Mellon.
1cs426-winter-2008 Notes  Text: End of 7.8 discusses flocking 7.13 discusses skinning 7.10 discusses motion capture  Remember online course evaluations.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Dynamic Response for Motion Capture Animation Victor B. Zordan Anna Majkowska Bill Chiu Matthew Fast Riverside Graphics Lab University of California, Riverside.
Composition of complex optimal multi-character motions C. Karen Liu Aaron Hertzmann Zoran Popović.
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
Artificial Intelligence in Game Design Problems and Goals.
Canyon Adventure Technology David Maung, Tristan Reichardt, Dan Bibyk, Juan Roman Department of Computer Science and Engineering The Ohio State University.
Facial animation retargeting framework using radial basis functions Tamás Umenhoffer, Balázs Tóth Introduction Realistic facial animation16 is a challenging.
Graphite 2004 Statistical Synthesis of Facial Expressions for the Portrayal of Emotion Lisa Gralewski Bristol University United Kingdom
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Motion Planning in Games Mark Overmars Utrecht University.
Fast and Accurate Goal- Directed Motion Synthesis For Crowds Mankyu Sung Lucas Kovar Michael Gleicher University of Wisconsin- Madison
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
CS-378: Game Technology Lecture #15.5: Physically Based Simulation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,
Motion Graphs By Lucas Kovar, Michael Gleicher, and Frederic Pighin Presented by Phil Harton.
Interactive Control of Avatars Animated with Human Motion Data By: Jehee Lee, Jinxiang Chai, Paul S. A. Reitsma, Jessica K. Hodgins, Nancy S. Pollard Presented.
Query by Image and Video Content: The QBIC System M. Flickner et al. IEEE Computer Special Issue on Content-Based Retrieval Vol. 28, No. 9, September 1995.
Data Driven Models of Motion Walking the Fine Line Between Performance, Realism and Style Chris White G-Lunch 2007.
Constrained Synthesis of Textural Motion for Animation Shmuel Moradoff Dani Lischinski The Hebrew University of Jerusalem.
2014 Animation Programming for Music Video Games Jessica Scott Harmonix Music Systems, Inc. October 10, 2014 #GHC
Fundamentals of Computer Animation
CSE Advanced Computer Animation Short Presentation Topic: Locomotion Kang-che Lee 2009 Fall 1.
Unity 3D Rolfe Bozier 24-Apr-2017
Computer Animation CS 446 September 5, 2001.
Animating Human Locomotion
Physically-Based Motion Synthesis in Computer Graphics
Multi-Scale Search for Black-Box Optimization: Theory & Algorithms
Working in the Forms Developer Environment
Computer Animation cgvr.korea.ac.kr.
Enemy and Friendly AIs Richard Gesick.
CS101 Introduction to Computing Lecture 19 Programming Languages
Database Performance Tuning and Query Optimization
A Comparative Study of Navigation Meshes . Motion in Games 2016
A Comparative Study of Navigation Meshes . Motion in Games 2016
Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH 1987 Computer Animation:
Query Construct Interfaces of RDF Data an introduction
Basics of Motion Generation
Hidden Markov Models Part 2: Algorithms
Workshop II UU Crowd Simulation Framework
Objective of This Course
Easy Generation of Facial Animation Using Motion Graphs
Chapter I Introduction
UMBC Graphics for Games
WELCOME.
Synthesis of Motion from Simple Animations
Planning and Storyboarding a Web Site
Chapter 11 Database Performance Tuning and Query Optimization
Computer Graphics Lecture 15.
Emir Zeylan Stylianos Filippou
Motion Graphs Davey Krill May 3, 2006.
Lecture 3. Virtual Worlds : Representation,Creation and Simulation ( II ) 고려대학교 그래픽스 연구실.
Computer Graphics Matrix Hierarchies / Animation
Niels Mulder & Floris de Vries
Presentation transcript:

Procedural Character Animation for Interactive Systems (Games) Billy Hamilton

About this Presentation I am currently working on a procedural animation system using Unreal Engine 4, a proprietary game engine used in many high-budget games. This presentation compares the animation tools provided in Unreal with procedural animation techniques published in academic research. Unreal – Industry standard techniques, traditional, practical. Academia – State of the art, experimental, not always practical.

Basics of Character Animation A character is controlled by a skeleton (rig), made up of bones (joints), which animate (rotate) over time. The mesh as a whole may also move.

Traditional Approach to Character Animation animationmethods.files.wordpress.com Store an animation sequence, consisting of a series of key frames. Play back the sequence, interpolating between key frames. https://animationmethods.files.wordpress.com/2012/11/newrunningposes.png

Traditional Approach to Character Animation Produce sequence (key frames) either (a) by hand; or (b) with motion capture. graphics.berkeley.edu

Game Characters Animation for Special requirements: Respond to player input. Respond to unexpected events. Realtime performance. Traditional approach: Store a library of animation sequences, play them in response to player input and other game events.

Procedural Generation of Game Content Use of computer algorithms to create content traditionally created by humans. Classifications: online (i.e., runtime) vs. offline random vs. deterministic

Motivations for Procedural Approach to Character Animation Motivations include: Reduce costs (time, money). Improve performance (in some cases). More realistic animation. Increase range of possible actions.

1. Motion Graphs

Overview of Motion Graphs You have a library of animation clips (motion capture). Play clips to animate a character. When you finish one clip, transition to the start of a new clip. A directed graph describes the valid transitions from one clip to the next.

Transitions on Motion Graphs Cover the transitions between clips by blending the start and end of each clip (interpolating the bone rotations). However, some transitions look bad. The poses are not similar enough. A good motion graph must avoid bad transitions.

AnimationMontage Motion Graphs in Unreal Engine 4 Graph is hand authored. Provide explicit code to choose between multiple possible next clips when a transition point is reached. Designer manually chooses good transitions and avoids bad transitions. Plan out required transitions before recording motion capture data.

Example of an AnimationMontage

Automatic Generation of Motion Graphs This has been a focus of academic research. Approach: (1) Record a long clip of actor doing various motions. (2) Compare all frames to find difference between every possible pair of poses – O(N2), but offline. (3) Add transitions at local minima that meet some minimum criteria for similarity. Gleicher 2008

Navigation on a Generated Motion Graph No hand-written rules. Choose a desired end state, search the graph for a series of animation clips that will get you there. Sometimes results in strange animations. Can be improved by annotating animations with information about when they should be used. Automatic classification of motion is a research area.

Navigation on a Generated Motion Graph Another approach is to select motions that minimize the distance from a desired path. The path can be input by the user or generated by a pathfinding algorithm. Kovar et al. 2002

Issues with Automatic Generation of Motion Graphs Graph may be poorly connected: Loops Dead ends Unreachable motions Still need to produce and store every required transition and variation for your animation system. Might miss required transitions if graph is not planned before motion capture session.

No good transition from A to B. Player Input with Motion Graphs Natural conflict between smooth transitions and quick response to player input. Commercial games prefer to use a poor transition rather than imposing a delay on the player. Return as often as possible to standard “idle” pose. No good transition from A to B.

2. Animation Blending

Overview of Animation Blending Using a library of existing clips limits the range of actions a character can perform. Mix together two (or more) animation clips to create a new animation. Make animation library more versatile without requiring additional motion capture.

Blend Spaces Animation Blending in Unreal Engine 4 One-dimensional blend space. Animation clips are plotted as points on a line. Clips are interpolated between points. walk backward idle walk run

Blend Spaces Animation Blending in Unreal Engine 4 run left- front run run right- front walk run left strafe left idle strafe right run right walk back run back Two-dimensional blend space. run left- back run right- back

Blend Spaces Animation Blending in Unreal Engine 4 forwards motion healthy lateral motion Three-dimensional blend space. injured

Limitations of Blend Spaces The number of required animation clips is high. All animations must be designed to work together.

Style Components Blending Animation Separate an adverb (“sneakily”) from a verb (“walk”). Reapply the captured style to a different animation. Approaches: Signal processing Compare to neutral reference clip Independent Component Analysis Shapiro et al. 2006 Shapiro, A., Cao, Y. and Faloutsos, P., 2006, June. Style components. In Proceedings of Graphics Interface 2006 (pp. 33-39). Canadian Information Processing Society.

Bone-by-Bone Animation Blending Run multiple animations on a bone-by-bone basis. Lower body jumps, upper body shoots a gun. Reduce number of animation clips required by breaking them into parts that can be combined. Limitations: Realistic motion often involves entire body. Cannot do anything that will interfere with body parts that are independently animated.

Pose Graphs in Unreal Engine 4 Graph which controls how animations are blended each frame. (“Blend tree.”) Animation programmer must design graph that meets specific needs of each character. No standard form. in Unreal Engine 4 https://answers.unrealengine.com/storage/temp/18948-screenshot+(5).png

Hierarchical Character Animation Order Controller 1 World offset 2 Idle motion 3 Locomotion 4 Animation 5 Reach 6 Grab 7 Gaze 8 Breathing 9 Constraint 10 Eye saccades 11 Blink 12 Head 13 Face 14 General parameters 15 Override Character Animation Academic animation system similar to a blend tree. Series of controllers in a strict order of precedence. Higher- numbered controllers override earlier ones. Difficult to define a universal hierarchy – need exceptions. Shapiro 2011

3. Physics-Based Animation

Overview of Physics-Based Animation The previous techniques are example-based. Physics-based techniques generate new motion without using existing clips – in theory. Common for passive objects such as rag dolls, but still rare for living creatures in commercial games. Rag doll from Dark Souls.

Challenges and Advantages of Physics-Based Animation Challenges All motion must be applied through forces and torques – more difficult than poses. Must simulate biomechanics of the body. Hard to control the style of motion. Advantages Inherently realistic. Not limited by database. Can simulate motion that is impossible in motion capture (dangerous stunts, imaginary animals).

Learning Approaches to Physics-Based Animation Recently impressive results have been achieved using machine learning. Some approaches use motion capture data to train the animation system. See Liu et al. 2015 for an example which combines a physics-based animation approach with a motion graph approach. www.youtube.com/watch?v=QJbCfhRkcyg Liu et al. 2015

Summary of Procedural Character Animation for Computer Games Approach Unreal Engine 4 Academic Research Motion graphs Hand-authored Automatic generation Motion blending Blend spaces Algorithms to separate components of motion Blend trees Complex and hand-authored Physics-based animation Mainly passive objects Biomechanical models, locomotion systems.

Sources Amaya, K., Bruderlin, A. and Calvert, T., 1996, May. Emotion from motion. In Graphics interface (Vol. 96, pp. 222-229). Bruderlin, A. and Williams, L., 1995, September. Motion signal processing. In Proceedings of the 22nd annual conference on Computer graphics and interactive techniques (pp. 97-104). ACM. Champland, A., 2012. Procedural Characters and the Coming Animation Technology Revolution. AiGameDev.com. Demofox.com, 2012, September. Anatomy of a Skeletal Animation System. Geijtenbeek, T., Pronost, N., Egges, A. and Overmars, M.H., 2011. Interactive Character Animation using Simulated Physics. In Eurographics (STARs) (pp. 127-149). Geijtenbeek, T., van de Panne, M. and van der Stappen, A.F., 2013. Flexible muscle-based locomotion for bipedal creatures. ACM Transactions on Graphics (TOG), 32(6), p.206. Gleicher, M., 2008, October. Motion Synthesis by Example. Slides for lecture, distinguished lecture series, Computer Sciences Department, University of Utah. Gleicher, M., Shin, H.J., Kovar, L. and Jepsen, A., 2008, August. Snap- together motion: assembling run-time animations. In ACM SIGGRAPH 2008 classes (p. 52). ACM. Hendrikx, M., Meijer, S., Van Der Velden, J. and Iosup, A., 2013. Procedural content generation for games: A survey. ACM Transactions on Multimedia Computing, Communications, and Applications (TOMM), 9(1), p.1. Kovar, L., Gleicher, M. and Pighin, F., 2002, July. Motion graphs. In ACM transactions on graphics (TOG) (Vol. 21, No. 3, pp. 473-482). ACM. Liu, L., Panne, M.V.D. and Yin, K., 2016. Guided learning of control graphs for physics-based characters. ACM Transactions on Graphics (TOG), 35(3), p.29. Shapiro, A., 2011, November. Building a character animation system. In International Conference on Motion in Games (pp. 98-109). Springer Berlin Heidelberg. Shapiro, A., Cao, Y. and Faloutsos, P., 2006, June. Style components. In Proceedings of Graphics Interface 2006 (pp. 33-39). Canadian Information Processing Society.