As part of an attempt to understand the Unreal Tournament (99) package format, I had written a parser for the .unr package format. The intent of this work was to be used as an importer for a friends gaming engine called iQU.
After parsing the data structures and finding where the meshes were located in the package, I added an OpenGL renderer that could display the wire frame mesh and animations of the unreal players models. As I spent most of my time just understanding the unreal package format I did not put a lot of effort into controlling the camera of the viewer. As of now the viewer only features a WASD control and places the animated model in the middle of the “scene” where the camera “walks” around the mode.
To use, please have the UT99 resources installed and unpacked somewhere. Pass the package file location and the player mesh name to the viewer, it will start automatically cycling through all the keyframes of the different animations associated with the mesh.
UT99 started with baked animations and later on implemented skeletal animations. The viewer only supports baked animations, and does not interpolate (tween) between different keyframes.