The packaging of the FBX SDK for the Microsoft Windows platform has changed to reduce the size of the download.
The preprocessor identifier that must be defined when linking with the dynamic library version of the FBX SDK has changed from KFBX_DLLINFO to FBXSDK_SHARED. KFBX_DLLINFO now serves no purpose. For statically linked library versions of the FBX SDK, no preprocessor identifiers must be defined.
Static libraries are now built with \_SECURE_SCL=1, which is the default value in Visual Studio projects. If your project used to define \_SECURE_SCL=0 to link with previous versions of the FBX SDK, it can now safely be removed from the predefined preprocessor identifiers.
All FBX-related DLL's are now officially signed with the Autodesk certificate.
For more information, see ~{ Installing and Configuring }~.
File Format Version 7.2.
The file format version of FBX files has been incremented to 7.2. There have been various small changes in the file format to support new data. The new header file fbxfilesdk_version.h defines the preprocessor identifer FBXSDK_VERSION_STRING, which represents the version information as a string (see ~{ Importing a Scene }~).
Texture Changes
Support for Allegorithmic's Substance (procedural textures) has been added to the FBX SDK core. The KFbxTexture class serves as the base class for KFbxFileTexture, KFbxLayeredTexture, and KFbxProceduralTexture. KFbxFileTexture should now be used for bitmap textures, replacing KFbxTexture.
Roughly 25 new texture blend modes were added. The default blend mode is now Normal instead of Translucent. These texture blend modes can be found in KFbxTexture::EBlendMode
Ptex files can be transported just like any other texture format (png, jpeg, etc.), provided they are connected to a material property. For more information about Ptex, visit http://ptex.us/documentation.html.
Evaluation and Animation Changes
New quaternion evaluation modes for rotation animation curves are now available, equivalent to those found in Autodesk Maya. See KFbxAnimCurveNode::SetQuaternionInterpolation.
Support for Dual Quaternion Skinning has been added. See KFbxDualQuaternion for more information.
A new type of animation curve has been added to the FBX SDK core to allow better support of Autodesk 3dsMax "auto" keys with crease in/out. See the tangent and interpolation modes in KFbxAnimCurve.
Added five new matrix transform evaluation functions to the KFbxNode class for convenience. These functions are equivalent to calling KFbxScene->GetEvaluator()->...:
KFbxNode::EvaluateGlobalTransform()
KFbxNode::EvaluateLocalTransform()
KFbxNode::EvaluateLocalTranslation()
KFbxNode::EvaluateLocalRotation()
KFbxNode::EvaluateLocalScaling()
Added the KFbxEvaluator::ResetEvaluationState() function to enable users to completely clear the whole evaluation cache by deleting all entries in it.
Import/Export Changes
Many improvements to the import time of FBX files have been made.
The memory footprint of FBX files has been reduced.
The Collada importer now supports the Collada 1.4.1. standard.
Support for "in-between" blend shapes has been added in the FBX SDK core to allow application plug-ins to import/export these states. See KFbxBlendShape, and KFbxShape.
Object names will now appear in ASCII FBX files as comments in the connection section for easier debugging.
Added the KFbxImporter::SetEmbeddingExtractionFolder() function to allow developers to specify an extraction folder when importing FBX files.
Other Changes
The KFbxCharacter class has been improved to benefit the interoperability of character data with other Autodesk 3D applications.
Support for vector displacement maps has been added. See KFbxSurfaceMaterialLambert::VectorDisplacementColor and KFbxSurfaceMaterialLambert::VectorDisplacementFactor.
The visibility inheritance behavior of scene nodes have changed to better align with popular Autodesk 3D applications.
Added support for line geometry in the KFbxLine class.
Added an option to KMemoryPool to control concurrent allocations. Previously, the allocation was always in concurrent mode.
The FBX SDK is now built with full optimization settings (i.e. both size and speed), instead of being optimized for speed only.
A new tesselation function was added to NURB curves to provide a work-around for applications that do not support them. The tesselation will produce a KFbxLine object (a series of vertices). See KFbxNurbsCurve::TessellateCurve().