Skeleton mocap: deviceskeleton
 
 
 

Starting in this release it is possible for hardware to output global positioning data for each channel or skeleton part.

Traditionally each sensor in the mocap system sends position data to MotioBuilder, which becomes a cloud of data markers in the scene. This in turn is made into a marker set and then associated with an actor. The actor is then used to drive the character animation in the MotionBuilder scene. This is demonstrated in the sample ordeviceoptical.

So rather than mapping markers to an actor in MotionBuilder, sensors are mapped to the skeleton in the mocap hardware itself, and the skeleton data and global position information are then sent to MotionBuilder and used to animate the character directly.

This should provide better quality animation than former methods using local skeleton information.

This new sample shows a generic motion capture device using global data streaming from a virtual hardware object. It demonstrates the use of dynamic allocation of animation nodes/sensors. The sample uses a new function which has been added to the SDK: FBAnimationNode::SetBufferType.

How to test:

  1. Prepare the test environment:
    • Build ordeviceskeleton.vcproj and skeletondevicetester.vcproj. These create ordeviceskeleton.dll in your plugins directory, and skeletondevicetester.exe in [MotionBuilder]\bin\[x64|win32].
    • Launch the skeletondevicetester.exe. This sets up a TCP/IP server you use to test ordeviceskeleton.
    • Launch MotionBuilder to read in the plugin you just compiled.
  2. Drag Asset Browser > Devices > OR - Skeleton Device and drop it into the Viewer. This creates an instance of the device in MotionBuilder.
  3. Toggle on Navigator > Devices > OR - Skeleton Device > Online. If the server (skeletondevicetester.exe) is functioning, you will see the position data updating in real time. This simulates position data streaming in from an optical device.
  4. Choose Navigator > Devices > OR - Skeleton Device > Model binding > Create.
  5. Click Navigator > Devices > OR - Skeleton Device > Setup > Characterize.
  6. Merge into the scene any characterized character by dragging it from the Asset Browser to the Viewer. You can use Mia or Aragor from the Tutorials folder in the Asset Browser.
  7. In the Character Controls select the character, then Edit > Input > DeviceCharacter.
  8. Click Navigator > Devices > OR - Skeleton Device > Live. The character should now be animated by the data streaming from the server.

How the device is implemented: