FbxAnimEvaluator
instance is now stored in the manager rather than in a scene.FbxProperty::EvaluateValue()
function to evaluate the value of a property.FbxProperty::GetCurveNode()
by caching results in a map inside the evaluation state.FbxCriteria
and FbxQuery
to improve performance.FbxTypeComponentCount()
global function to retrieve a type's component count.FbxMapDelete()
, FbxMapFree()
, and FbxMapDestroy()
.FbxTime
to retrieve the time string. You can specify the start and end element it returns.InvertX
property and InvertY
property to the camera manipulator for inverting controls.FbxGeometryBase::ComputeBBox()
no longer computes or changes the bounding box value if the content is unloaded.FbxString
uses a char pointer allocation again instead of an opaque std::string
implementation for easier debugging and better performance/memory footprint. It is no longer necessary to modify the autoexp.dat
file of Visual Studio to see the string content with debuggers.fbxclonemanager.h
for more information.FbxGeometryConverter::SplitMeshesPerMaterial()
function now handles skinning on splitted meshes correctly.FbxScene::ComputeBoundingBoxMinMaxCenter()
and FbxNode::EvaluateGlobalBoundingBoxMinMaxCenter()
.FbxGeometryConverter::ResetMeshesCenterToWorld()
function to reset the center of scene meshes.FbxMesh::GenerateNormals()
function to generate normals. It works in the same way as generating tangents. This function is for replacing the FbxMesh::ComputeVertexNormals()
function that only supports smooth normals.FbxScene::Clone()
to properly duplicate scenes.FbxTime::SetFramePrecise()
and FbxTime::GetFrameCountPrecise()
, which use double values.FbxMod
to fbxmath.h
.FbxStream
class.FBXSDK_sprintf
, FBXSDK_snprintf
, FBXSDK_vsprintf
, and FBXSDK_vsnprintf
now take a single size parameter instead of being variant on different platforms.FbxSceneInfo
class).GetCurveNode()
in FbxProperty
that used an animation stack name.ConvertPivot
functions in FbxNode
to use an animation stack pointer instead of the animation stack.FbxPropertyFlagsExt
class to FbxPropertyFlags
.FbxPropertyValue
class to a more global location because it is also used by the evaluation state.ContentUnload
now unloads the layers properly on a geometry.FbxExporter::GetCurrentWritableVersions()
.FbxCameraManipulator
frame-all now works on orthographic cameras.DXF
files.FbxAMatrix
only works with XYZ rotation order.FBXSDK_ENV_WINRT
preprocessor define (previously known as FBXSDK_ENV_WINMETRO
). This disables unsupported functions when targeting Microsoft Windows Store applications. This define will automatically be set if you set Windows Store App Support to Yes in your Visual Studio project settings.A number of changes were made to the architecture defines in fbxarch.h
in order to add support for the ARM processor:
FBXSDK_ARCH_IX86
, only defined on Intel x86 targets.FBXSDK_ARCH_AMD64
, only defined on AMD64 targets.FBXSDK_ARCH_ARM
, only defined on ARM targets.FBXSDK_ARCH_32
to FBXSDK_CPU_32
, only defined for 32-bit targets.FBXSDK_ARCH_64
to FBXSDK_CPU_64
, only defined for 64-bit targets.Also, please see deprecated details below.
FbxReference
is now defined as FbxObject*
rather than void*
. This change allows properties of the FbxReference
type to correctly respond to FbxCast
and other FBX SDK API operations, as well as restraining the assignment to FbxObject*
types.FbxCameraManipulator
by adding a new action type: eFreePan
. This action combines dollying and panning into a single action. For example, this may be useful for manipulating the camera using a touch screen.FbxObject::eInitialized
. This flag is automatically set on all objects after they are done with the Construct stage. This is also used to prevent PropertyNotify from being called during the ConstructProperties stage.FbxCameraManipulator
does not use a hidden class internally anymore, and uses the PropertyNotify event to re-initialize when changing its affected camera.IOSetting
flag (IMP_FBX_EXTRACT_EMBEDDED_DATA
) to completely disable embedded files extraction. This flag is set to true by default.FbxObject::ResetProperties()
function to reset all properties to their default value.pForceSet
parameter for FbxProperty::StaticInit()
is no longer optional. When calling this function in ConstructProperties, the value of pForceSet
must be correctly passed to StaticInit()
for all properties, in order to ensure that each property is initialized only once.FbxGeometryConverter::Triangulate()
function, which replaces the deprecated TriangulateMesh()
, TriangulateMeshAdvanced()
and TriangulateInPlace()
functions. The new function can either take a node attribute or a scene as a parameter, and can replace original nodes with new ones to make sure the scene stays clean.FbxGeometryConverter::SplitMeshesPerMaterial()
function. This function can take a scene as a parameter, and can replace original meshes to make sure the scene stays clean.FbxArray
class that accepts an integer parameter to specify the amount of memory that should be reserved for that specific size.FbxMesh::GetPolygonVertexUV()
to allow it to return an array of unmapped polygons. This is extremely useful to determine which vertex has no associated UV.FBXSDK_ARCH_32
and FBXSDK_ARCH_64
have been renamed to FBXSDK_CPU_32
and FBXSDK_CPU_64
respectively, to dissociate them from the architecture.FbxReference
properties, in order to improve robustness.FbxObject::PropertyNotify()
now requires a reference to the property instead of a pointer.FbxGeometryConverter::Triangulate()
instead.ConvertPivotAnimationRecursive
, introduced in FBX 2013.3, caused some scenes to become resampled and key-reduced wrongly.fbxsdk.h
in your project, the define WIN32_LEAN_AND_MEAN
will no longer be automatically defined anymore.FbxPathUtils::GetRelativePath()
did not work properly with localized paths.FbxReference
type now use the Source connection. Only a handful of them were not complying, in various FbxConstraint
classes. In FBX 2014 (7.4) or lower files, this will not change anything, but in memory these objects are now always connected to the source of the property.FbxObject::PropertyNotify()
callback is not called anymore during ConstructProperties object creation stage.FbxPropertyT<FbxReference>
now correctly receives the PropertyNotify
event.FbxTime::SetTimeString()
now supports passing spaces between elements.FbxCamera
Position property synchronization with the local translation of its node.FbxMarker
class no longer returns property pointers.FbxMesh::GenerateTangentsData()
functions: When the tangents data already exist on the mesh, and the pOverwrite
parameter is set to false, the function now returns true
so that it is not considered as an error.FbxStream
that it does not support other formats than FBX.FbxCache
evaluation could cause a crash on Linux and Mac platforms in some circumstances.FbxPathUtils::Create()
could cause a crash on Linux and Mac platforms in some circumstances.FbxGeoemetryConverter::SplitMeshPerMaterial()
. Now, meshes that have material indexes that point to invalid materials will not be assigned any materials, and they will be regrouped together.FbxCamera::EvaluateUpDirection()
now supports the Roll property.FbxStatus
) is introduced to replace the old FbxError
class.TimeMarker
functionality is re-introduced in FBX 2014 file format. The API to access them is in the FbxGlobalSettings
class.MotionFiles
readers/writers are now registered in the public FBX SDK. This means that the FBX SDK can now import and export the following motion file formats: Biovision (BVH), MotionAnalysis (HTR/TRC), Acclaim (ASF/AMC), Vicon (C3D), Adaptive Optics (AOA), and Superfluo (MCD).FBXSDK_DLL
are exported, which makes it equal to the Windows version.FbxProperty
flags are cleaned. For clarity, the ePublished
flag is renamed to eAnimated
, and the eUser
flag is renamed to eUserDefined
. The eStatic
flag is now turned on for all the static properties by default. Also, introduced the eImported
flag for properties that are created upon import.FBXSDK\_ENV\_WINMETRO
for Windows Metro support and FBXSDK\_ARCH\_ARM
for ARM processor support.FbxFolder::Create()
, FbxFolder::Delete()
, and FbxFolder::Exist()
functions are moved to the FbxPathUtils
class, and now work pass the Microsoft Certification Validation Kit for Windows Store applications. Other functions in the FbxFolder
class are renamed for consistency. See fbxfolder.h
.FbxPathUtils::Exist()
function now works on relative paths.FbxPathUtils::Create()
function can take multiple paths as argument and they are created if possible, like mkdir in Unix.FbxMesh::GetPolygonVertexCount()
function to simply return the array size.FbxProgress
class to be simpler and to allow an additional argument to be passed to the single-thread callback.fbxsdk_compatibility.h
file is removed from the FBX SDK distribution, so you must use the latest API. Defining FBXSDK_NEW_API
is not necessary anymore and can be removed from your projects.FbxString::Empty()
function is renamed to FbxString::Clear()
to avoid confusion with the FbxString::IsEmpty()
function.FbxError
is removed from all classes. Instead, functions that need to return an error string can use an optional parameter of type FbxStatus
similar to MStatus
in the Maya API.FbxFolder::Create()
function is removed. You can use the FbxPathUtils::Create()
function instead.FbxFolder::Delete()
function is removed. You can use the FbxPathUtils::Delete()
function instead.FbxFolder::Exist()
function is removed. You can use the FbxPathUtils::Exist()
function instead.FbxFolder::Remove()
function is removed. You can use FbxPathUtils::Delete()
function instead, which is always recursive.FbxCamera::EvaluateUpDirection()
incorrectly using the TargetUp
object.FbxManager
on application exit.FbxString::Empty()
instead of FbxString::IsEmpty()
.FbxStream::ReadString()
.GenericTimeIndependent
only and GenericClampProgressive
.TranslationActive
, RotationActive
, and ScalingActive
properties.FbxMarker::DrawLink()
is now set to true.FbxCamera::EvaluateLookAtPosition()
not returning the expected value.Effect
field being written for each polygon when writing Collada files resulting in an increased file size.FbxMin
that were returning a const reference type value are fixed to return a copy of the value instead.FbxScene::ForceKill()
on an imported scene that contains thumbnails.fbxiosettingspath.h
header file compatible with C++x11 standard.FbxAMatrix
only works with XYZ rotation order.