Sturm Project

The overall goal of this project has 3 parts:

1. Fully model, rig, animation, and texture a 3D character
2. Bring said character into Unreal 2003 as a new player model.
3. Develop tools in which to make this task easier.

I. The Character

   Sturm (based off the word sturmtruppen, German for storm trooper), are security officers that operate in small groups, generally in oppressive roles. Their training and disposition make them ideal for handling population control issues such as riots and dissenters. Their armor, designed in Prussian traditions, is highly effective at instilling fear and anxiety into potential combatants, usually civilians. Made up of overlapping kevlar plates, the armor can handle a great deal of punishment before breaching, but it is constrictive towards movement.

 

II. The Model


Real-Time Modeling Videos
Video of body being modeled [320kb Divx]
Video of head being modeled [412kb Divx]

 

III. The Game

   Sturm is made for Unreal Tournament 2003, and as such faces limitations not found in traditional 3D animations. The number one difference is that Sturm is a low-poly character, with 5100 polygons total. The lack of geometry is hidden with two 1024x1024 textures, one for the body and one for the head; having a good texture is essential to make up for the poly-count. As well as this, Sturm has 58 unique animations and can perform almost all the moves in the game.

In-Game Animations
Animation: Sturm demonstrating movement in-game
Animation: Character playing in botmatch in-game

 

IV. The Tools

The following tools have been developed for the purposes of this project:

dPuppet (MEL) - The main toolset that provides most of the direct functionality to Maya, its features include single-click access to selection sets, single-click keying, one-click rigging, animation jiggler (add noise to animation), and the pose matrix. The pose matrix allows for frames of animation or poses to be stored in a list that can be used later on even if a new scene as been opened. Most importantly however are the importers & exporters for membership data, animations, expressions, and Unreal. dPuppet comes with a slimmed down interface called Puppeteer which is a swiss-army knife for an animator.

dPuppet UI

Backer (Perl) - An automated backup system based on the concurrent-version system (CVS) used by programmers for workgrouping on code. This works by analyzing each file marked for archival to see if it has changed since the last time it was archived. Allows for a 3D team working over the internet to easily keep data congruent, as well as acting as a powerful redundant backup tool for 3D or any other digital data.

PolyBuild (MEL & Perl) - - Lets a user create a real-time video of their model being built from nothing to completion if they saved their model revisions.

Syntex (Perl) - A code management tool that organizes code as well as handles administrative functions such as updating headers with new information such as edit dates and program version while keeping your code consistent looking.

MEL Data Extensions (MEL) - Attempts to remove some of the limitations of MEL by including commonly used programming functions found in other languages such as pop, push, shift, and other data-handling functions.