Thursdays on AiGameDev.com is dedicated to the theory behind game AI, so expect to find descriptions and links to white papers from a variety of relevant fields. This week is a little different in the last minute build up to GDC Lyon, so I’ll dig up some of the most relevant and interesting papers that I reviewed a few months ago.
Animation is an important part of creating great character AI. There’s a often a temptation to ignore the presentation layer, but it can become the one of the best features of the AI when done right. Many studios use motion graphs these days, which are a simple way to get good looking animations into a game… but here are a few papers to help you take those ideas a bit further!
Interpolated Motion Graphs
Screenshot 1: Synthesizing physically constrained motion.
This paper describes the process of synthesizing motion by interpolating between of different paths through a motion graph. This results in natural looking transitions, yet it also allows the animation to be constrained physically. The paper also shows how to use an anytime A* algorithm to search through the graph of possible motion clips.
Parametric Motion Graphs
Screenshot 2: Interactive control of parametric motions.
This paper shows how to combine parametric motions into the typical graph-like structure, and describes a process of automatically creating realistic transitions between the parametric motions using sampling. The resulting animation turns out to be much more responsive to interactive control, which is ideal for games.
Continuous Animation Control
Screenshot 3: Avoiding obstacles in one smooth motion.
This paper uses an innovative way to perform runtime blending between animations which relies on reinforcement learning to estimate a value function for each mocap clip. Then, a real-time controller can select motions and find the appropriate place to blend them in based on this lookup value.
For those of you that have been reading the blog for longer, are there any other papers on animation you felt were important? If so, post them below!