FBX SDK 从2012.1 到 2013.3 变化

Posted 极玩小屋的小哥哥 - JackChen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FBX SDK 从2012.1 到 2013.3 变化相关的知识,希望对你有一定的参考价值。

==================================================== ==============================

  译文                                   自述文件

                  Autodesk FBX SDK 2013.3,2012年9月11日

 

1.新功能和弃用功能
------------------------------

1.1新功能
    
    *类FbxCameraManipulator已经改进,使FrameAll和  FrameSelected函数现在考虑变形,并且      正确调整相机距离,以更好的框架。
      
    *删除了FbxNode_internal类。现在FbxNode的所有属性都是      在FbxNode类声明内部可见。这造成一些      更改为Pivot信息。
      
    *现在FbxCache使用IFF组件可以扩展到64位,允许      需要使用大得多的缓存文件。

    * Windows上的FBX SDK库的动态库版本      平台现在使用静态MSVCRT(/ mt)而不是动态MSVCRT      (/ MD)。这允许使用FBX SDK dll分发应用程序      而无需安装Microsoft Visual Studio Redist。
      
    *从现在起,所有以前重载克隆的类现在只有      克隆本身,而不是其来源。例如,克隆FbxNode将      不再克隆其FbxNodeAttribute。相反,重现这一点      行为,必须使用处理克隆对象的FbxCloneManager      网络。这对于FBX SDK的大多数对象来说都是如此。然而,      对象(如与其外表和集群的网格)仍保持被视为      一体。
      
    * FbxScene类现在重载了Clone函数,并使用      FbxCloneManager成功克隆整个场景网络。
      
    * FBX SDK现在使用默认内存分配函数      调用而不进行初始化。这只发生在静态变量      在main之前被初始化。如果需要更改FBX SDK内存      分配函数,确保你没有使用静态FBX SDK对象      这可能在您的主要调用之前初始化。
      
    *添加了新的功能来检索当前的内存分配功能      设置,以及默认的。请参阅fbxalloc.h文件。
      
    *添加了对属性上的“锁定”标志的支持。这不会阻止FBX      SDK用户从更改属性值,但它将允许应用程序      以存储/检索标志。由于属性最多可以有4个
      成员,我们使用4位来区分它们。
      
1.2弃用的功能

    *此版本中没有新弃用的功能。

    

3.从以前的版本释放注释
---------------------------------------

2013.2

    *基本Lambert和Phong材料属性现在可以动画。
    
    *所有FBX产品的安装路径现在一致。例如,      FBX SDK现在将安装在“... / FBX / FBX SDK / 20xx.x”。
      
    *在Linux 32位上添加了对FBX Python SDK的支持。
    
    *添加了新功能来评估相机目标,这将进入      帐户在节点上指定的Target-Up对象位置。
      
    *为读者和作者注册过程添加了新参数      现在可以覆盖一个,而不是只是在末尾添加它      列表。
      
    *在Windows平台上删除了对WININET库的依赖。现在,当      与FBX SDK链接,不会生成其他依赖关系。所有样品      已更新以反映此。
      
    * FBX SDK库现在大约减少了10%,因为很多过时      代码已删除。
      
    *构造函数和析构函数已经标准化      整个SDK。现在,所需的构造函数声明一个类时      继承自FbxObject是在FBXSDK_OBJECT_DECLARE中默认定义的      宏。如果你需要在构造函数或析构函数中执行代码,你将需要覆盖Construct和Destruct详细的      文档。
      
    *虚函数ConstructProperties签名现在没有任何      返回值。请相应更新您的代码。请提醒一下      不要忘记在开始调用ParentClass :: ConstructProperties      如果你打算覆盖它。
      
    * FbxRedBlackTree已经被移动到自己的文件,这使得更容易      立即阅读fbxmap.h。
      
    * FbxScopedPtr类已重命名为FbxAutoPtr并已移动      在fbxalloc.h所以它是默认可访问的。此外,几个基本的重载      与不同的删除政策已经实施。那些是      FbxAutoFreePtr,FbxAutoDeletePtr和FbxAutoDestroyPtr。
      
    * FBX SDK的所有函数,用于获取ClassId或FBX_TYPE      宏作为过滤的输入现已被弃用。现在,模板      必须使用相同函数名称的版本。由于它是模板,      它们现在返回正确的值类型,并且它不再需要      调用FbxCast对返回值。
      
    *修复了使用经典求值程序指定“ApplyTarget”时出现的问题。
      
    * FBX SDK中的tangents / binormals生成函数已经      更新,现在工作在三边以上的多边形。

    * FbxExposureControl类已停用
    
    * FbxPlug类已退役
    
    *函数FbxProperty :: GetCurve不再模板。
    
    *函数FbxObject :: GetRootProperty现在已被弃用。请使用      成员FbxObject :: RootProperty。
      
    *函数FbxCamera :: GetUpVector现已废弃。请用      FbxCamera :: EvaluateUpDirection。
      
    *函数FbxCamera :: ComputePerspective现已废弃。请用      FbxCamera :: ComputeProjectionMatrix。
      
    * fbxcompatibility.h文件中已弃用的函数已删除。
    
    * FbxPointerGuard类已经退役,因为FbxAutoPtr及其      派生代替它。
      
    *函数FbxArray :: SetCount已停用。请用      FbxArray :: Reserve或FbxArray :: Resize。
      
    *函数FbxArray :: Empty现在已被弃用。请用      FbxArray :: Clear。
    
    *函数FbxArray :: FindAfter现已废弃。请用      FbxArray :: Find代替。
      
    *现在已弃用函数FbxArray :: FindBefore。请用      FbxArray :: FindReverse。
      
    *函数FbxArray :: AddMultiple现在已被弃用。请用      FbxArray :: Grow。
      
    * FbxObject,FbxProperty,FbxCollection和FbxDocument中的所有函数      用于获取FbxClassId或FBX_TYPE()宏作为过滤机制,现已废弃。请使用这些的模板版本      函数,如:FbxObject :: GetSrcObjectCount <Type>()或      FbxObject :: GetSrcObject <Type>()模板版本返回正确的      类型,所以它不再需要使用FbxCast返回这些      功能。
      
    * FbxObject和FbxProperty中的所有函数,用于获取FbxClassId      加上一个FbxCriteria已退休,而不是被弃用,      因为他们从逻辑的立场没有意义,现在可以      安全地替换为形式Obj-> Function <Type>(Criteria)。
      
    *以下函数已弃用,应予以替换
      与他们的等价物在FbxObject中找到:
        FbxConnectSrc(Dst,Src) - > Dst-> ConnectSrcObject(Src)
        FbxConnectDst(Src,Dst) - > Src-> ConnectDstObject(Dst)
        FbxGetSrcCount(Obj) - > Obj-> GetSrcCount()
        FbxGetSrcCount(Obj,ClassId) - > Obj-> GetSrcCount <Type>()
        FbxGetSrc(Obj,Index) - > Obj-> GetSrcObject(Index)
        FbxGetSrc(Obj,Index,ClassId) - > Obj-> GetSrcObject <Type>(Index)
        FbxFindSrc(Obj,Name,Index) - > Obj-> FindSrcObject(Name,Index)
        FbxFindSrc(Obj,Name,ClassId,Index) - > Obj-> FindSrcObject <Type>(Name,Index)
        FbxDisconnectAllSrc(Obj) - > Obj-> DisconnectAllSrcObject()
        FbxGetDstCount(Obj) - > Obj-> GetDstCount()
        FbxGetDstCount(Obj,ClassId) - > Obj-> GetDstCount <Type>()
        FbxGetDst(Obj,Index) - > Obj-> GetDstObject(Index)
        FbxGetDst(Obj,Index,ClassId) - > Obj-> GetDstObject <Type>(Index)
        FbxFindDst(Obj,Name,Index) - > Obj-> FindDstObject(Name,Index)
        FbxFindDst(Obj,Name,ClassId,Index) - > Obj-> FindDstObject <Type>(Name,Index)
        FbxDisconnectAllDst(Obj) - > Obj-> DisconnectAllDstObject()

    *修正缩放继承没有正确计算的问题      经典评估器。
      
    *由FBX SDK生成的切线和binormals现在将平滑      根据正常平滑。
      
    *优化切线/ binormals生成,以便没有更多的      比网格上有法线。
      
    * FBX SDK版本现在可以安全地链接到调试应用程序。
    
    *修复了旧的FBX 5.x内容的纹理indice问题。
    
    *修复了运行时类的内存泄漏。
    
    * FBX SDK现在使用FbxString类中的所有内存分配器      由std :: string完成的分配。
      
    *改变了GetAnimationInterval的行为,使其不做      联盟了。现在,timespan参数总是正确初始化      里面的函数。
      
    *改进了FBX SDK如何处理测试如果文件存在,导致一个      更快的文件打开通过网络丢失的资产。
      
    *修复了导入FBX 5.x文件时未设置IO的文件崩溃问题      设置。
      
    *修正了一些与用户报告的样本有关的问题。
    
    *解决了内存分配器的问题。例如,FbxString现在      使用指定的内存分配器而不是默认的STL分配器。
      
    *修复了与特定OBJ文件的崩溃。
    
    * ResetPivotSetAndConvertAnimation的一个问题,打破了现场的网格      已纠正。
      
    *修复了示例中的多个FBX Python SDK错误。
    
    *修正了Collada导出为多个材质的网格物体的问题。

2013.1

    *重命名所有类的前缀“Fbx”。也重命名所有结构      相同的前缀。
      
    *全局函数和枚举现在以“Fbx”前缀开头

    *默认情况下,将包括fbxsdk_compatibility.h文件包括fbxsdk.h。这个文件定义了很多旧的类名帮助过渡。但是,如果你想使用新的API,你可以在项目中定义FBXSDK_NEW_API和兼容性文件不包括,但很可能会导致很多错误修复在您的应用程序。
      
      强烈建议您从修复编译错误开始之前在你的项目中定义FBXSDK_NEW_API,但它也很高建议从兼容性文件可能完全修复您的代码将在以后的版本中删除。
      
    *尽可能将所有枚举移动并重命名为类。
    
    *将文件移动到适当的文件夹,并对它们进行分组。
    
    *删除KFbxMemoryAllocator类,而是使用处理程序的setters函数      在fbxalloc.h中找到,如FbxSetMallocHandler。
      
    *删除所有KFCurveFilter类,请使用FbxAnimCurveFilter类      代替。
      
    * FbxFile现在暴露!有关可用的列表,请参阅fbxfile.h      功能。
      
    *一个新类,FbxFileUtils,现在暴露所有与之相关的静态函数      文件处理,例如删除或重命名等。
      
    *一个新类,FbxPathUtils,现在暴露所有与之相关的静态函数      文件路径处理,例如IsRelative或Clean等。
      
    *完全重新设计字符姿势如何存储在FBX中。
    
    * FbxLight类已经增强以支持区域灯和谷仓门。
      
    * FbxGeometryBase类已增强以支持渲染选项例如PrimaryVisibility,CastShadow和ReceiveShadow。
      
    *许多FBX SDK函数要求文件路径作为输入更新以支持UTF-8。他们的参数名称已更新以反映这个变化。
      
    *现在可以检索FBX SDK的“长”版本字符串      通过函数FbxManager :: GetVersion(true)。这将允许开发人员      以获取此库的版本字符串以及名称和      修订号。

    *修正了示例代码的各种问题。
    
    *现在示例代码编译时带有警告级别4。
    
    *修正了一个动画评估没有正确更新的问题      当告诉。
      
    *修复了导出后丢失约束的问题。
    
    *修正了一个问题,动画评价有时返回两次
      价值量。
      
    *修复了一个问题,当映射是在网格类上的RemovePolygon函数      通过多边形。
      
    * LclTranslation,LclRotation和LclScaling的初始属性值      当实际存在动画曲线时影响评估器的结果      连接到这些属性。这已被更正。
      
    *修复了在Mac上写空间时缓存数据的问题      在文件路径中。
      
    *修复了一个崩溃与xstring使用在VS2010,由断言造成的。
    
    提高时间和时间码类的精度。
    
    *更改了在导入期间如何处理绝对路径和相对路径。现在      如果两个路径中的一个打开成功,则另一个改变为      工作。
      
    *修正了展开动画过滤器的问题。
    
    *现在,当重新采样动画时,我们移动默认在结尾而不是      比在重采样的开始。

2012.2

    *添加了面光源支持KFbxLight类。

    *为KFbxLight类添加了Barn Doors支持。

    * KFbxLight的HotSpot属性已更改为InnerAngle。
    
    * KFbxLight的ConeAngle属性已更改为OuterAngle。

    *各种文件I / O崩溃。
    
    *材料转换器的重复材料问题是固定的。
    
    *示例代码中的一些小修复。
    
    * Collada阅读器中的固定路径问题。
    
    *写入FBX文件后,场景应回到其初始状态。
    
    *修复了当旧场景不包含blendhapes时导入的崩溃      或morpher数据。
      
    *修正了从OBJ转换为FBX时不正确的法线的问题。
    
    *示例代码“Cube Creator”在OBJ中导出时修改了场景,      这已经修复。
      
    *修正了绝对与相对文件路径的问题;现在如果其中一个      是有效的,另一个不是,我们修复破碎的。
      
    *修复了在Mac上的缓存写入问题,当文件中有一个空格      名称。
      
    *修复了一个问题,FBX导出器将重复材料非常
      具体条件。
      
    *使用形状写入FBX 6.x文件后,场景被修改和数据
      可能丢失。这已被更正。
      
    *修复了VS2010中stl字符串导致的断言。
    
    *我们现在打开FBX文件在只读模式,而不是读+写。这允许      为其他进程并行访问FBX文件。

2012.1

    *在KFbxVideo中添加了对图像序列的支持。
    
    *大大改进了参考文档。

    *细化如何可见性继承工作:为每个添加一个新的属性      节点允许指定是否应该继承。
      
    *在IO设置中添加了一个新选项,以导入在FBX中找到的时间跨度      文件。
      
    *向KFbxAxisSystem添加了一个新函数,以检索前向量。
    
    *向KFbxAnimEvaluator和KFbxAnimEvalClassic添加了一个新函数      允许用户从全局计算本地TRS,具有偏移量。      有关详细信息,请参阅kfbxanimevaluator.h中的ComputeLocalTRSFromGlobal。

    *修正了当传递到矩阵时,比例值为零的问题      转换器。

    *增加了对FBX ASCII文件的各个部分的缩进。
    
    *修正了一些曲线评估为无限值的问题。
    
    *多个混合形状与相同的目标导致损坏的文件,
      这已经得到纠正。
      
    *对文件i / o阅读器和写入器的优化改进了导入
      出口速度提高60%。
      
    *修复了过滤器中常量键模式的问题。
    
    *更改标记外观属性枚举初始化以匹配枚举
      在头文件中。
      
    *修正了一个问题,在经典的评估器,导致通道不
      动画有时返回两倍的值。

 

------------------------------------------------------------------------------------

原文

================================================================================

README

Autodesk FBX SDK 2013.3, September 11th 2012

 

1. NEW AND DEPRECATED FEATURES
------------------------------

1.1 New Features

* The class FbxCameraManipulator has been improved so that the FrameAll and
FrameSelected functions now take deformations into account, and also
properly adjust the camera distance for a better framing.

* Removed the FbxNode_internal class. Now all attributes of FbxNode are
visible within the FbxNode class declaration itself. This caused some
changes to the Pivot informations.

* Now the FbxCache using IFF component can scale to 64bit, allowing for
much larger cache files to be used.

* The dynamic library version of the FBX SDK library on the Windows
platform now use the static MSVCRT (/mt) rather than the dynamic MSVCRT
(/MD). This allows to distribute applications using the FBX SDK dll
without having to install the Microsoft Visual Studio Redist.

* From now on, all classes that previously overloaded Clone will now only
clone itself, and not its sources. For instance, cloning an FbxNode will
NOT clone its FbxNodeAttribute anymore. Instead, to reproduce this
behavior, one must use the FbxCloneManager which handles cloning object
networks. This now holds true for most objects of the FBX SDK. However,
objects such as meshes with their skins and clusters remain considered as
one entity.

* The class FbxScene now overload the Clone function, and uses the
FbxCloneManager to successfully clone the entire scene network.

* The FBX SDK now use default memory allocation functions when they are
called without being initialized. This only happens when static variables
are initialized before main. If you need to change the FBX SDK memory
allocation functions, make sure you are not using static FBX SDK objects
that could potentially be initialized before your main call.

* Added new functions to retrieve the memory allocation function currently
set, as well as the default ones. Please see fbxalloc.h file.

* Added support for ‘locked‘ flags on properties. This won‘t prevent FBX
SDK users from changing property values, but it will allow applications
to store/retrieve the flags across. Since properties can have up to 4
members, we‘re using 4 bits to differenciate them.

1.2 Deprecated Features

* No newly deprecated features in this version.

 

3. RELEASE NOTES FROM PREVIOUS RELEASES
---------------------------------------

2013.2

* Basic Lambert and Phong material properties are now animatable.

* Installation paths for all FBX products is now consistent. For instance,
the FBX SDK will now install in ".../FBX/FBX SDK/20xx.x".

* Added support for FBX Python SDK on Linux 32bit.

* Added new function to evaluate camera target up, that will take into
account the Target-Up object position specified on the Node.

* Added new parameter to Readers and Writers registration process so that
now it is possible to override one, rather than just add it at the end of
the list.

* Removed dependency to WININET library on the Windows platform. Now, when
linking with the FBX SDK, no other dependency are generated. All samples
have been updated to reflect this.

* The FBX SDK library is now roughly ~10% smaller, since a lot of obsolete
code has been removed.

* The constructor and destructor mechanics have been standardized across
the whole SDK. Now, the required constructor when declaring a class that
inherit from FbxObject is defined by default in the FBXSDK_OBJECT_DECLARE
macro. If you need to execute code in the constructor or destructor, you
will need to override Construct and Destruct as detailed in the
documentation.

* The virtual function ConstructProperties signature now do not have any
return value. please update your code accordingly. As a reminder, please
do not forget to call ParentClass::ConstructProperties at the beginning
if you intend to override it.

* FbxRedBlackTree has been moved into its own file, which makes it easier
to read fbxmap.h now.

* The class FbxScopedPtr has been renamed FbxAutoPtr and has been moved
in fbxalloc.h so it is accessible by default. Also, a few basic overloads
with different deletion policy have been implemented. Those are
FbxAutoFreePtr, FbxAutoDeletePtr and FbxAutoDestroyPtr.

* All functions of the FBX SDK that used to take a ClassId or a FBX_TYPE
macro as input for filtering are now deprecated. Now, the templated
version of the same function name must be used. Since it is templated,
they now return the correct value type, and it is no longer necessary to
call FbxCast on the return value.

* Fixed an issue when specifying "ApplyTarget" with the classic evaluator.

* The tangents/binormals generation function in the FBX SDK has been
updated and now works on polygons with more than three sides.

* The class FbxExposureControl has been retired.

* The class FbxPlug has been retired.

* The function FbxProperty::GetCurve is not templated anymore.

* The function FbxObject::GetRootProperty is now deprecated. Please use the
member FbxObject::RootProperty instead.

* The function FbxCamera::GetUpVector is now deprecated. Please use
FbxCamera::EvaluateUpDirection instead.

* The function FbxCamera::ComputePerspective is now deprecated. Please use
FbxCamera::ComputeProjectionMatrix instead.

* Deprecated functions in fbxcompatibility.h file have been removed.

* The class FbxPointerGuard has been retired, because FbxAutoPtr and its
derivates replaces it.

* The function FbxArray::SetCount has been retired. Please use
FbxArray::Reserve or FbxArray::Resize instead.

* The function FbxArray::Empty is now deprecated. Please use
FbxArray::Clear instead.

* The function FbxArray::FindAfter is now deprecated. Please use
FbxArray::Find instead.

* The function FbxArray::FindBefore is now deprecated. Please use
FbxArray::FindReverse instead.

* The function FbxArray::AddMultiple is now deprecated. Please use
FbxArray::Grow instead.

* All functions in FbxObject, FbxProperty, FbxCollection and FbxDocument
that used to take a FbxClassId or an FBX_TYPE() macro, as the filtering
mechanism, are now deprecated. Please use the templated version of these
functions, such as: FbxObject::GetSrcObjectCount<Type>() or
FbxObject::GetSrcObject<Type>() The templated version returns the correct
type, so it is no longer needed to use FbxCast upon return of these
functions.

* All functions in FbxObject and FbxProperty that used to take a FbxClassId
plus an FbxCriteria have been retired instead of being deprecated,
because they didn‘t make sense from a logical standpoint, and can now
safely be replaced with the form Obj->Function<Type>(Criteria).

* The following functions have been made deprecated, and should be replaced
with their equivalent found in FbxObject:
FbxConnectSrc(Dst, Src) -> Dst->ConnectSrcObject(Src)
FbxConnectDst(Src, Dst) -> Src->ConnectDstObject(Dst)
FbxGetSrcCount(Obj) -> Obj->GetSrcCount()
FbxGetSrcCount(Obj, ClassId) -> Obj->GetSrcCount<Type>()
FbxGetSrc(Obj, Index) -> Obj->GetSrcObject(Index)
FbxGetSrc(Obj, Index, ClassId) -> Obj->GetSrcObject<Type>(Index)
FbxFindSrc(Obj, Name, Index) -> Obj->FindSrcObject(Name, Index)
FbxFindSrc(Obj, Name, ClassId, Index) -> Obj->FindSrcObject<Type>(Name, Index)
FbxDisconnectAllSrc(Obj) -> Obj->DisconnectAllSrcObject()
FbxGetDstCount(Obj) -> Obj->GetDstCount()
FbxGetDstCount(Obj, ClassId) -> Obj->GetDstCount<Type>()
FbxGetDst(Obj, Index) -> Obj->GetDstObject(Index)
FbxGetDst(Obj, Index, ClassId) -> Obj->GetDstObject<Type>(Index)
FbxFindDst(Obj, Name, Index) -> Obj->FindDstObject(Name, Index)
FbxFindDst(Obj, Name, ClassId, Index) -> Obj->FindDstObject<Type>(Name, Index)
FbxDisconnectAllDst(Obj) -> Obj->DisconnectAllDstObject()

* Fixed an issue with scaling inheritance not being computed properly by
the classic evaluator.

* The tangents and binormals generated by the FBX SDK will now be smoothed
according to the normal smoothing.

* Optimized tangents/binormals generation so that there not more of them
than there is normals on the mesh.

* The FBX SDK release version can now be safely linked into a debug app.

* Fixed a texture indice issue with old FBX 5.x content.

* Fixed a memory leak with runtime classes.

* The FBX SDK now uses the memory allocator in the FbxString class for all
allocations done by std::string.

* Changed the behavior of GetAnimationInterval so that it doesn‘t do a
union anymore. Now, the timespan parameter is always initialized properly
inside the function.

* Improved how the FBX SDK handle testing if file exist, resulting in a
faster file opening for missing assets that are over the network.

* Fixed a file crash when importing an FBX 5.x file without setting an IO
setting.

* Fix some issues with samples, as reported by users.

* Resolved issues with the memory allocator. For instance, FbxString now
use the specified memory allocator rather than the default STL allocator.

* Fixed a crash with a specific OBJ file.

* An issue with ResetPivotSetAndConvertAnimation breaking instanced mesh as
been corrected.

* Fixed multiple FBX Python SDK errors in samples.

* Fixed an issue with Collada export for meshes with multiple materials.

2013.1

* Renamed all classes with prefix "Fbx". Also renamed all structures with
the same prefix.

* Global functions and enumerations now start with the "Fbx" prefix.

* By default, the file fbxsdk_compatibility.h will be included when
including fbxsdk.h. This file defines a lot of the old class names to
help with the transition. However, if you want to use the new API, you
can define FBXSDK_NEW_API in your project and the compatibility file will
not be included, but will most likely result in a lot of errors to fix
in your application.

It is highly recommended that you start by fixing compilation errors
before defining FBXSDK_NEW_API in your project, but it is also highly
recommended to fully fix your code since the compatibility file might
be removed in a future release.

* Moved and renamed all enumerations into classes when possible.

* Moved files into appropriate folders, and grouped them.

* Removed KFbxMemoryAllocator class, instead use handlers setters functions
found in fbxalloc.h, such as FbxSetMallocHandler.

* Removed all KFCurveFilter classes, please use FbxAnimCurveFilter classes
instead.

* FbxFile is now exposed! See fbxfile.h for the list of available
functions.

* A new class, FbxFileUtils, now expose all static functions related to
file handling, such as remove or rename, etc.

* A new class, FbxPathUtils, now expose all static functions related to
file path handling, such as IsRelative or Clean, etc.

* Completely re-designed how Character Poses are stored in FBX.

* The FbxLight class has been augmented to support area lights and barn
doors.

* The FbxGeometryBase class has been augmented to support render options
such as PrimaryVisibility, CastShadow and ReceiveShadow.

* Many FBX SDK functions that were asking for file paths as inputs were
updated to support UTF-8. Their parameter names were updated to reflect
this change.

* It is now possible to retrieve the "long" version string of the FBX SDK
via the function FbxManager::GetVersion(true). This will allow developers
to get the version string of this library along with the name and the
revision number.

* Fixed various issues with sample codes.

* Now sample codes compile with warning level 4.

* Fixed an issue with animation evaluation that wasn‘t updated correctly
when told to.

* Fixed an issue with constraints being lost after export.

* Fixed an issue with animation evaluation sometimes returning twice the
value amount.

* Fixed an issue with RemovePolygon function on mesh class when mapping is
by polygon.

* Initial property values of LclTranslation, LclRotation and LclScaling
affect the evaluator‘s result when there are actually animation curves
connected to these properties. This has been corrected.

* Fixed an issue with writing cache data on Mac when a space was present
in the file path.

* Fixed a crash with xstring use in VS2010, caused by an assert.

* Improved precision in time and timecode classes.

* Changed how absolute and relative paths are handled during import. Now
if one of the two path is opening successfully, the other is changed to
work.

* Fixed an issue with the unroll animation filter.

* Now, when resampling animation, we move the default at the end rather
than at the start of the resampling.

2012.2

* Added Area Light support to KFbxLight class.

* Added Barn Doors support to KFbxLight class.

* HotSpot property on KFbxLight has been changed for InnerAngle.

* ConeAngle property on KFbxLight has been changed for OuterAngle.

* Various file I/O crashes.

* Duplicate material issue with material converter is fixed.

* Some minor fixes in sample codes.

* Fixed path issue in Collada reader.

* After writing FBX file, the scene should come back to its initial state.

* Fixed a crash on import of old scenes when it didn‘t contain blendshapes
or morpher data.

* Fixed issue with incorrect normals when converting from OBJ to FBX.

* Sample code "Cube Creator" was modifying the scene when exporting in OBJ,
This has been fixed.

* Fixed an issue with absolute versus relative file paths; now if one of them
is valid and the other is not, we fix the broken one.

* Fixed an issue with cache writing on Mac when there was a space in the file
name.

* Fixed an issue with the FBX exporter that would duplicate materials in very
specific conditions.

* After writing an FBX 6.x file with shapes, the scene was modified and data
was potentially lost. This has been corrected.

* Fixed an assert caused by stl string in VS2010.

* We now open FBX files in read-only mode rather than read+write. This allow
for other process to access the FBX file in parallel.

2012.1

* Added support for Image Sequences into KFbxVideo.

* Improved the reference documentation quite substantially.

* Refined how visibility inheritance works: added a new property for each
node allowing to specify if it should be inherited or not.

* Added a new option in IO Settings to import the time span found in FBX
files.

* Added a new function to KFbxAxisSystem to retrieve the front vector.

* Added a new function to KFbxAnimEvaluator and KFbxAnimEvalClassic to
allow users to calculate the local TRS from the global, with an offset.
See ComputeLocalTRSFromGlobal in kfbxanimevaluator.h for more info.

* Fix an issue with scale values of zero when passed to the matrix
converter.

* Added indentation to various parts of FBX ASCII files.

* Fixed an issue with some curves evaluating to infinite values.

* Multiple blend shapes with the same target resulted in corrupted file,
this has been corrected.

* An optimization to the file i/o reader and writer improved import
and export speed up to 60% faster.

* Fixed an issue with constant key mode in the filters.

* Changed the marker look property enum initialization to match the enum
in the header file.

* Fixed an issue in the classic evaluator which caused channels not
animated to sometimes return twice the value.

 

以上是关于FBX SDK 从2012.1 到 2013.3 变化的主要内容,如果未能解决你的问题,请参考以下文章

如何从 2018 FBX SDK 中获取反向绑定姿势矩阵?

使用 fbx sdk c++ 从 fbx 读取纹理文件名

FBX SDK - 从角色的 ENodeId 获取 FbxNode

如何使用 FBX SDK 在 fbx 文件中加载嵌入的纹理? [关闭]

FBX SDK:如何逐点变换矩阵?

FBX SDK 导出为较旧的 fbx 文件格式