MotionBuilder 2012
New Functionality
- Stereo camera rig now enables 3D in MotionBuilder, and interoperability with Maya.
This is implemented with the new classes FBCameraStereo, FBCameraStereotype, and FBStereoDisplayMode,
and with extensions to FBVideoGrabOptions. Some of this functionality requires specific
hardware: check the release notes.
- Any webcam that Windows recognises can be used as a device. The FBVideoIn class has
been extended. The new functionality is demonstrated in the new sample Python script:
VideoInput.py.
- FBTake class now includes the MergeLayers function. The new functionality is demonstrated
in the new Python script MergeAnimationLayer.py.
- Extended exposure of optical data to Python: FBOpticalGap, FBModelOpticalAdvance,
FBOpticalSegment, FBRigidBody, FBModelMarkerOptical, FBPropertyListMarkerSegment,
FBPropertyListOpticalSegement, FBPropertyListOpticalGap, FBModelOpticalAdvanced.
- Vertex color display is now exposed. Parameter changes have been made to FBGeometry
VertexInit and VertexAdd, and there have been many changes to FBGeometry. Look for
objects including the name "color", for example VertexColorSet. New functionality
is demonstrated in VertexColor.py.
- New class exposure to Python gives functions for matrix, T,R,S to matrix, matrix to
T,R,S, local/global conversions, vector operations, vertex operations, rotation utilities,
and others. New classes in Python are FBVector2d, FBVector3d, FBVector4d, FBSVector,
FBNormal, FBVertex, FBUV, FBColor, FBColorAndAlpha, and FBMatrix. Functionality is
demonstrated in MathUtilities.py, Matrix.py, and Vectors.py.
- Hybrid motion capture device: it is now possible to record with both optical and bones
data at the same time. A new function is FBAnimationNode::WriteGlobalData. Functionality
is demonstrated in two new C++ sample projects deviceopticalhybrid (the device) and
opticalhybriddevicetester (a server to output test data).
- TimeWarp curve is now exposed in the new class FBTimeWarpManager. The new sample TimeWarp.py
shows the usage of FBTimeWarpManager by creating a model and its animation, then creating
and merging a TimeWarp onto its animation node.
- Time code property support: in the FBEvaluateInfo class the functions GetLocalTime
and GetSystemTime replace GetLocalStart, GetLocalStop, GetSystemStart, and GetSystemStop.
- You can now create an auxiliary effector. The FBCharacter class includes two new functions
CreateAuxiliary and GetEffectorModel. The new functionality is demonstrated in the
new Python script MatchAuxiliaryEffectors.py.
- FBTreeNode has a new boolean attribute, checked, that you can use to set the state
of CheckBoxes created with FBTree.
- It is now possible to program the pressing of a button in the Properties window, for
example the Solid Look property on a control rig.
- Geometry cache recording and playback:
New classes
- FBPointCacheManager
- FBDeformer
- FBDeformerType
- FBPointCacheFile
New functions
- FBCharacter::GetSkinModelList
- FBModel::NoFrustumCullingRequire
- FBModel:: NoFrustumCullingRelease
- FBModel::UseFrustrumCulling
- FBModel::Deformers
- FBModel::SkeletonDeformable
- FBModel::BlendShapeDeformable
- FBModel::ConstrainDeformable
- FBModel::PointCacheDeformable
- CharacterPointCache.py: shows the character point cache workflow.
Software Dependencies
- Changes to the Open Reality (C++) SDK necessitates recompilation of plugins.
- Qt 4.7.
- HIK 4.7.
- Changes to some accessor functions: to get or set a value you now use the property
instead of the function.
- The default location of configuration was the Program Files directory, but to be compliant
with Windows post XP, they have been moved to My Documents.
- MB_CONFIG_DIR: new environment variable which you can optionally set to override the
default location of the MotionBuilder configuration files.
- User help and learning materials are now located on the web, and are no longer included
with the installer.
- You can now see profiling for evaluation, devices, and rendering. When profiling a
scene you can now see what tasks are being performed by MotionBuilder, when, and for
how long. This is implemented via the new classes FBProfileTaskCycle, FBProfileTimeEven,
FBProfiler, and FBProfilerHelper. A new UI window Profile Center provides a visualization.
- New functions FBBeginChangeAllModels and FBEndChangeAllModels allow you to control
scene refresh. This could be used to improve performance.
- FBFbxManager is deprecated. Functionality is moved to FBApplication.
- Unchanged from MotionBuilder 2011 are the use of Visual Studio 2008 SP1 and Python
2.6.4.
Bug Fixes and Enhancements
- Setting FBSpreadCell::Style to kFBCellStyle: view no longer crashes.
- Performance with scenes containing a large number of models is improved. May apply
to scenes containing more than 1000 models.
The following samples were updated:
- ortoolcharacter
- ortoolcluster
- ortoolconstraint
- orstretchdeformer
- orpositionfromposition
- ortoolimportexport
- ortoolbatch
- ortoolpose
- orvideodevice
- FBConstraintManager.py
- BlendShape_Editor.py
- Keyboardmapper.py
The help system is no longer installed on your computer with the MotionBuilder installer.
Instead, it is available online at: www.autodesk.com/motionbuilder-sdkdoc-2012-enu.