Python & RfM
Repurposing MoCap Data

return to main index

Download: mocap


The tutorial, Python: Parsing MoCap Data, presented two python classes (MoCapMarker and MoCapDB) that can read and store mocap data. This tutorial presents a super class of MoCapDB, called MoCapRMan, that uses the mocap coordinate data read by the base class to generate rib archives containing RenderMan RiPoint, RiCurves and RiBlobby geometry. Examples of the geometry created by instances of the MoCapRMan class are shown below. The data files used for the illustrations was obtained from the website of the Advanced Computing Center for the Arts and Design, Ohio State University,

Figure 1
343 fields (frames) - one RiPoint per mocap marker.

Figure 2
41 RiCurves - one curve per marker each with 343 cvs.

Figure 3
One RiBlobby - one blob per marker per frame (14063 blobs).

When used with an approriate interface with Maya the primitives generated by MoCapRMan can easily be animated - figure 4. The .rman and .mel scripts that create a GUI for use with MoCapRMan is given in the next section.

Figure 4
Animation with a 'trail' of 15 frames.

Figure 5
Animation with a 'trail' of 160 frames.

MoCapRMan, Maya & RfM

The easiest way to use mocap python scripts with Maya is to create an artist-friendly user interface. This section of the tutorial demonstrates how an interface for use by Pixar's RenderMan for Maya (RfM) can be added to Maya - figure 6.

Figure 6

Unzip and save the following three scripts in these directories,


The interface for Maya is implemented by following three scripts. They should be saved in the RfM_mel directory. For example,

                         |_ mocap.rman	
                         |_ mocapUI.mel	
                         |_ mocapRI.mel	

Information about customizing RfM and Maya can be found in the tutorial, "RfM: Customizing".

Maya Workflow

1.   Create a proxy object, for example, a poly cube.
2.   Select, de-select and re-select the proxy and run this mel command,
3.   Toggle the transform and shape tabs of the proxy to display the interface - figure 6.
4.   Select the mocap data file and render the scene.

To use another data file frame 1 must be rendered. New instance of MoCapRMan are created when frame 1 is rendered.

© 2002- Malcolm Kesson. All rights reserved.