home   
      
homeproductscompanytechnology       
real-time 3dinternet kioskfuture projects
    
Overview    
Video     
Screen Shots     
Design     
Plan     
History     
Team       

Development Plan 
Table of Contents  
Introduction   
Editor   
Graphics   
Hardware  
Architecture   
Data  
Code  
Demo  
Motion Capture   
Networking 
Scoring   
Tools   
Team   
Behavior   
3D 

       
real-time 3dVertigo PC Plan 
Motion Capture Data Loader 

Language: C++  

Libraries: ANSI Std. File I/O  

Algorithms: None  

Priority: High  

Requisite Components:   

Platform Dependent: No  

Data Structures: CMotionData  

Description: This component reads information from ".HTR" (Hierarchical Rotation and Translation) motion-capture data files and stores the data in a class structure making it accessible for rapid, random-access playback by the MotionCapturePlayback component. The ".HTR" file format is what we receive from the motion capture studio (e.g. Motion Analysis).  

This component will initially support only the most common instances of the".HTR" format (e.g. assume "ZYX" Euler-angle ordering, assume units in degrees and millimeters, etc.), but will be later extended to handle all possible variables, including the ".GTR" file format (if needed).   

 

Motion Capture Interpolation 

Language: C++  

Libraries: None  

Algorithms: t.b.d.  

Priority: Medium/Low (see below)  

Requisite Components: MotionCapturePlayback  

Platform Dependent: No  

Data Structures: CMotionInterpolate  

Description: This component will control motion playback using the MotionCapturePlayback component, interpolating between sets of motion-capture data to provide more realistically integrated motion in the game.  

The initial version of this component will simply provide a smooth transition between the current motion (physical-model simulation) of an object in the game (e.g. the skater) and a motion-capture animation (such as an "ollie" or "crash and wipeout"). More sophisticated implementations will permit combining sequences or overlays of animations, and provide variations on playback to further improve realism.   

We also have some ideas about using motion-capture to merely "tune" a more sophisticated physical model. With this approach, even complex animations would accurately reflect collisions with other objects in the world (e.g. a flailing arm would bounce off a lamp-post during a fall). Note that this "tuning" process would be done "offline" (i.e. during game development), and the results (e.g. point-masses, spring-constants, etc.) would be "loaded" into the physical model used at run-time. If we choose this implementation strategy, we might then use "motion-capture playback" (in its strict sense) only for simple animations in the game (or perhaps not at all).  

   

Motion Capture Playback 

Language: C++  

Libraries: Direct3D (see below)  

Algorithms: None  

Priority: High  

Requisite Components: MotionCaptureDataLoader  

Platform Dependent: Yes (initially, until our platform-independent "wrapper" API for Direct3D/PlayStation has been implemented)  

Data Structures: CMotionPlayback  

Description: This component will "playback" or "re-animate" motion-capture data. This data is available from the CMotionData class structure provided by the MotionCaptureDataLoader component.  

The initial version of this component will simply playback captured data "as is", displayed within the context of the game-world. This might be used, for example, to animate a relatively simple skater movement such as the "foot push" or perhaps an "ollie" or "crash and wipeout". The playback component will then need to be extended to provide a more sophisticated interface to the MotionCaptureInterpolation component, which will "direct" this playback component more accurately to provide more realistic, integrated motion in the game.