Area :: Header
New updates to
Autodesk Character Generator
Learn More!
Discussion Groups

FBX SDK

Reply
Employee
RobertGoulet
Posts: 201
Registered: ‎03-13-2009

FBX SDK 2013.1 Release Notes

148 Views, 9 Replies
04-13-2012 06:57 AM
As you are probably already aware, the FBX SDK 2013.1 is now available for download! Here is the release notes found in the readme.txt file :

* 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.
Robert Goulet, FBX Dev Lead
Please use plain text.
Contributor
pakiman
Posts: 25
Registered: ‎01-07-2011

Re: FBX SDK 2013.1 Release Notes

04-13-2012 12:19 PM in reply to: RobertGoulet
Thanks for the SDK!

Do any of the new SDK samples allow me to open a FBX file with non-ANSI characters in the
directory filepath or in the filename itself? I tried this, and it didn't work.

For example, do you have any plans to update this Importer function to accept wide-character filepaths?


virtual bool Initialize(const char* pFileName, const int pFileFormat=-1, FbxIOSettings *pIOSettings=NULL);
Please use plain text.
New Member
Erik Vesely
Posts: 2
Registered: ‎04-14-2012

Re: FBX SDK 2013.1 Release Notes

04-14-2012 03:51 PM in reply to: RobertGoulet
Hi,

I would like to ask if there's support for loading fbx through abstract input streams, so I can easily handle memory images or issues mentioned above, with nonANSI file paths. I was searching through the forum and it seems like lot of people already asked for this long time ago and I really can't understand why it's still not in FBX SDK :smileysad:o I really hope I've missed something and the possibility is there already.

Thanks!
Erik
Please use plain text.
Employee
RobertGoulet
Posts: 201
Registered: ‎03-13-2009

Re: FBX SDK 2013.1 Release Notes

04-17-2012 05:46 AM in reply to: pakiman
All the functions that receive file paths as input use UTF-8. You can use the FbxWCToUTF8 function to feed it from a WC program.
Robert Goulet, FBX Dev Lead
Please use plain text.
Employee
RobertGoulet
Posts: 201
Registered: ‎03-13-2009

Re: FBX SDK 2013.1 Release Notes

04-17-2012 05:47 AM in reply to: Erik Vesely
We do support abstract streams in FBX 2013! Look for the class FbxStream, you can implement yours, and feed it to Import. :smileyhappy:
Robert Goulet, FBX Dev Lead
Please use plain text.
Valued Contributor
normalblock8byteslong
Posts: 54
Registered: ‎12-07-2007

Re: FBX SDK 2013.1 Release Notes

04-25-2012 02:47 AM in reply to: RobertGoulet
Can we write rotations as quaternions yet? Or are we still stuck having to write euler values?
Also , is there any way of not writing all the tags in the binary file? After implmenting the instance feature the file sizes are still large. I reckon this is mainly because of all the ascii tags written which identify the variables that are stored. Its also not really any faster to load a file with instances versus whole geometry unless the model instanced is very big.
Please use plain text.
Valued Contributor
normalblock8byteslong
Posts: 54
Registered: ‎12-07-2007

Re: FBX SDK 2013.1 Release Notes

04-25-2012 06:00 AM in reply to: normalblock8byteslong
Also, when using your instance sample and having it write out 1000 cubes, the ascii file produced is smaller than the resultant binary file. Please explain. Surely the bianry file should be smaller.
Please use plain text.
Employee
RobertGoulet
Posts: 201
Registered: ‎03-13-2009

Re: FBX SDK 2013.1 Release Notes

04-30-2012 01:02 PM in reply to: RobertGoulet
Interesting, we will verify this. Thanks for reporting!
Robert Goulet, FBX Dev Lead
Please use plain text.
Employee
RobertGoulet
Posts: 201
Registered: ‎03-13-2009

Re: FBX SDK 2013.1 Release Notes

05-02-2012 08:57 AM in reply to: normalblock8byteslong
We've investigated the cause of the file size, and apparently it is because of two main reasons:

1. The sample had an issue, where it was creating a new material for each instance of the mesh. This has been corrected for the next release.
2. In ASCII, a zero double value is written "0", as opposed to binary which write the whole 8 bytes, even if it is zero.
Robert Goulet, FBX Dev Lead
Please use plain text.
Employee
RobertGoulet
Posts: 201
Registered: ‎03-13-2009

Re: FBX SDK 2013.1 Release Notes

05-02-2012 09:01 AM in reply to: normalblock8byteslong
The FBX SDK supports quaternions since a while now. However, rotations in the files are stored as Euler values, and the FBX SDK provides API to get and set such values between Euler and Quaternion. We also support Dual Quaternion skinning evaluation if you need it. The fact that we write Euler values in the file should not stop you from using quaternions with the API.
Robert Goulet, FBX Dev Lead
Please use plain text.