MotionBuilder 2013

Programming Environment and Code Refactoring Changes

  • MotionBuilder and its distributed plug-ins are now compiled using Visual Studio 2010 (Service Pack 1).
  • Environment Variables:
    • MOTIONBUILDER_PLUGIN_PATH - The list of directories contained in this environment variable determines the location from which MotionBuilder will load compiled plugins.
    • MOTIONBUILDER_PYTHON_STARTUP - The directory contained in this environment variable determines the location from which MotionBuilder loads the Python startup scripts. Setting this environment variable overrides the default Python startup path in MotionBuilder.
    • FILMBOX_CONSOLE - Setting this environment variable to 1 allows the console to appear, otherwise the console will not appear.
  • FBContainer has been renamed to FBVisualContainer to increase the uniformity of cross-product naming schemes.
  • const correctness improvements.
  • Although not enforced in this release, we recommend that the "H" prefix in classes such as HFBPlug be removed and replaced by the pointer suffix "*", for example: FBPlug*. This change is intended to facilitate the use of the documentation system in the near future.
  • FBShader has been heavily refactored for performance.
  • The FBModelTransformationMatrix enumeration type has been renamed to FBModelTransformationType.
  • FBFindObjectsByNamespace has been deprecated. Use FBFindObjectsByFullName or FBFindObjectsByName instead.

New Classes

  • FBSyncReference - Allows the MotionBuilder application to sync its time with a device's time. For more information, consult the ordevicesync_device plugin.
  • FBTimeCode - A timecode contains the time and frame information used to identify a specific moment in a timeline, often used in video and audio production. This class can namely help in the conversion of a point in time from one frame rate domain to another.
  • FBHUD, FBHUDElement - These classes represent the new Heads-Up Display (HUD) feature in MotionBuilder. A HUD is connected to a camera, and appears as a 2D overlay. This overlay can be used to display information about the take, such as the current time, frame number, etc.
  • FBFileMonitoringManager - This class can be used to monitor operating system file events. By contrast, the event properties in FBApplication only monitor events triggered within the MotionBuilder application.
  • FBNamespace - This class has been exposed to facilitate the use of namespaces among scene elements. Functions such as FBFindModelByLabelName(), FBFbxOptions::NamespaceList, FBFbxOptions::SetNamespaceList(), FBFbxOptions::GetNamespaceList(), and the FBScene's namespace related functions (FBScene::NamespaceImport()) can filter, select, import and export scene elements using namespaces.
  • FBAudioRenderOptions() - This class has been added to specify audio rendering options, which can be passed as a parameter to FBApplication::AudioRender(). Consult the Scripts/Samples/Audio/AudioRendering.py sample for more details.

New Methods and Added Functionality

Optimizations

SDK Bug Fixes and Improvements

For information on SDK Bug Fixes and Improvements, consult the MotionBuilder 2013 Release Notes.