Contents
MotionBuilder SDK Programmer's Guide
Welcome to the MotionBuilder SDK
What is the MotionBuilder SDK?
MotionBuilder C++ API
MotionBuilder Python API
What's New / What's Changed?
MotionBuilder 2012
Using the Documentation System
Requirements
Information and Technical Support
Getting Started
Directory Structure
Command Line Options
Using Python with MotionBuilder
Python Editor
Namespaces and Autocomplete
Running Python Programs
Managing Python Tools
Debugging
Python Telnet Console
Your First Python Program
Using C++ with MotionBuilder
User Interfaces with Qt
Overview
Qt step-by-step
Qt principles
Sample Programs
Template for devices: device_template
Create glove device: deviceglove
Camera tracker: devicecamera
Input device template: deviceinput
Internal device: devicereclist
Skeleton mocap: deviceskeleton
Synchronous device: devicesync
Video switcher: devicevideo
Manipulators template: manip_template
Custom selection: manip_customselection
Camera manipulator: manipcamera
Arrow display: maniparrow
Tools samples
Code samples
Camera data import/export: impexpcamera
Export of sampled model data: impexpdevice
Export of a complete scene: impexpgames
Custom menu template: impexpmenu
Import/Export tool: impexptool
Sample import/export plugin: impexpsample
Code samples
MotionBuilder SDK Architecture
Naming Conventions
Threading
Enumeration mapping
Data types & properties
Shaders
Events & callbacks
Customizing the MotionBuilder SDK
Object Model
FBSystem - The System Class
FBApplication - File I/O and Application Utilities
FBComponent - The Base Entity Class
FBProperty - Object Properties
FBPlug - Object Connection Management
Utility Classes
File Input and Output
Saving to a File
Loading from a File
File Options
File Events
Example: Cube Counter
Scene Elements
FBScene - The Scene Class
FBModel - Transformation Data and the Scene Graph
FBLight - Lights
FBCamera - Cameras
FBGeometry - Meshes and Surfaces
FBCharacter - Characters
FBGroup and FBSet - Scene Element Organization
Animation
FBBox
Character animation
FBPose - Poses
Constraints
Filters
Rigging
Story
Takes
Animation layers
Audio / video
User Interface
UI components
Spreadsheets
Tabs
Message boxes
Progress feedback
Widgets
Python tools: best practices
Avoiding the UnbindWrapperError
Layouts
Box layout
Grid layout
Tools
Manipulators
Motion Capture Devices
Device operation
Model templates
Streaming devices
Optical devices
Sampling modes
Device layouts
Output devices