1 / 1

Character Animation Blending

Extending Microsoft’s XNA Framework with BSP Content and Animation Hollinger, Jordan; Mitton, Kenneth; Webster, Roger; and Zoppetti, Gary* Department of Computer Science, Millersville University, Millersville, PA, 17551. Digital Content Pipeline. Abstract.

mieko
Télécharger la présentation

Character Animation Blending

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extending Microsoft’s XNA Framework with BSP Content and AnimationHollinger, Jordan; Mitton, Kenneth; Webster, Roger; and Zoppetti, Gary* Department of Computer Science, Millersville University, Millersville, PA, 17551 Digital Content Pipeline Abstract In Fall 2008 we began developing our own framework, the MU XNAEngine, an extension of Microsoft’s XNA Game Studio, to support efficient geometry transformations; collision detection; rigid-body physics; first- and third-person cameras; and background and 3D sound. This engine is currently used by the 3D Game Programming and Animation class (CSCI 475). The XNA Content Pipeline consists of importers, processors, and writers that allow game developers to handle various forms of digital content. The importer initially converts files to an intermediate format that a content processor subsequently reads. A processor takes the intermediate format and converts it to an object, such as Model, or BasicEffect, which is used at runtime. XNA further allows processors and importers to be mixed, with developers choosing what processor or importer best fits their needs. For the Valve formats, we leveraged the content pipeline to build a custom importer to read BSP and VTF digital asset files into NodeContent objects that the built-in processors are capable of handling. We also built several custom processors. Content to be rendered is loaded into a Model object by the default Model processor. A Model object consists of a hierarchy of separate, moving parts. If you do not intend to animate an object, using this structure wastes memory resources. Thus we created a processor to convert Model content into a simpler format better suited for more efficient rendering and non-hierarchical animations. We are now refining and extending the engine to handle additional model formats and animation. XNA provides a content pipeline that enables developers to import and process new types of digital content. Using the pipeline infrastructure, we have added support for the Valve Binary Space Partitioning (BSP) model format and Valve Texture Format (VTF). We have also created our own model type for processing and handling transformable geometry at a coarser granularity and higher efficiency than the native Model type, as well as a model type more conducive to blended character animation. BSP Content Importing Although Models can be converted between different formats, such as BSP to FBX, it is often difficult to preserve the original content. The BSP format we chose to support is a popular format used by games such as Half-Life 2 and Counter Strike. By creating a BSP importer for these maps, we have enabled students to load large, professionally-produced maps into their class projects. Character Animation Blending We have developed our own character animation blending framework. Animations consist of a sequence of key frames, where a key frame captures the position, rotation, and scale of a character’s bone. Multiple animations can be combined, or blended, by computing convex sums over the interpolated key frames from each animation. To the left we illustrate our blending system using an upper and lower body animation to simulate walking. Below we illustrate an animation blend that must apply multiple animations to the same bone (the mech is both falling and shooting, so upper body bones are involved in each). The mech is processed into an AnimatableModel object. This object format is more conducive to character animation because transforms are represented as position/orientation/scale triples instead of 4x4 matrices. Our triples are more accurately interpolated than 4x4 matrices, which the Model object uses. An AnimationController applies an animation blend to an AnimatableModel. AnimationTrack objects comprise an AnimationController Each track holds a single animation. When multiple tracks are assigned weights and enabled, the controller blends the contained animations appropriately. To use all of the features provided by the BSP format, we implement our own shaders, allowing more realistic effects such as translucent windows and multiple texture blending. An example of such blending is a gravel-covered grassy area, created by blending grass and gravel textures. Using the XNA BasicEffect shader, some of these effects, such as translucent windows, can be coarsely simulated, but image quality is degraded (compare and contrast the images to the left). Other effects, like multitexturing and bump mapping, are not even possible.

More Related