Controlling a 3D character in a virtual world in real time is a challenging problem because the complexity of human motions and the limited time available for computation. Consequently, most 3D games use a simplified mechanism to place canned motions at designated locations regardless what a user inputs. In this paper, we aim to design a 3D character that is capable of generating 3D motions dynamically according to the inputs of the user as well as the constraints of the environment. The motions are synthesized at real time from a motion library organized in a motion graph. The traversal of the motion graph is represented and incrementally maintained in a data structure called Feasible Motion Tree (FMT). By designing appropriate tree expansion and motion selection algorithms, a useful FMT can be maintained incrementally within a limited time budget. We use a first-person shooting game as an example to demonstrate the effectiveness of this method. We think that game designers can make good use of the enhanced interactivity with the smart character to design more enjoyable games.
Proceedings of 2011 Conf. on Computer Vision, Graphics, and Image Processing (CVGIP2011)