Fixed a rare crash in analysis that was triggered when the analysis text was one word long and that word was classified as a contraction.
Fixed a rare crash with Unicode text file loading. In certain cases where the encoding couldn’t be determined a crash would occur.
Numerals in analysis text are now supported where possible. Note that you should not use numerals in your text, but instead spell out numerals as words for the best analysis quality results.
Fixed morph target animation export in FxOgreFBX exporter.
Fixed a bug where Subphrase_Max_Stress events were being incorrectly classified as Stress_Normal events, creating duplicate stresses.
Fixed a bug where scale on bones in the bind pose could cause incorrect rendering of FaceFX results in FaceFX Studio.
Fixed an issue with curve baking (fast and slow) on curves with initial non-zero-value keys. An initial key with value 0 was inserted slightly prior to the animation start time.
Fixed a potential memory leak in the analysis library when passing NULL for the analysis actor and the analysis actor file name is empty, does not exist, or fails to load.
Fixed a bug where analysis text consisting of one single letter word (ex “I”) would be ignored.
Updates
Added Visual Studio 2012 support for building FxSDK, FxSDKExtras, FxAnalysis, FxAudioLib, and the unit test projects.
Support added for Maya 2013.5, Maya 2014, 3DS Max 2014, and XSI 2014. Support dropped for Maya 2009, Maya 2010, XSI 7, and Max 2009.
Features
Added FxStudio.getSkeletonRootBoneNames() to FaceFX Studio’s Python API.
Other Fixes
Handle the case where analysis completes but no phonemes were generated. When analysis completes but no chunks were found we now retry the analysis with no text to prevent “empty” animations in certain cases.
If the first character of a command string entered into the command panel or in an .fxl file is ‘%’ it is now ignored.
Crashes that happen in command line mode no longer pop up a crash report dialog. Instead, these crash reports are automatically copied to the Crash Reports directory.
Fixed bug where FxOgreFBX could potentially create an invalid MESH file that referenced Ogre poses that did not exist casuing Ogre to crash.
Fixed boundary case in FBX Importer where the rest pose was not being pruned when no poses were exported.
Fixed boundary case in FBX Importer when denying a sync operation could result in the render asset name being changed without a corresponding render asset being created.
Fixed a bug where point lights were never properly imported from Ogre .scene files (they were incorrectly imported as directional lights).
Fixed a bug where mapping target type information was not included in the XML Actor format. Target type information is now included when exporting and used when importing. When importing an old XML file without this information the default target types are used if the mapping is detected to be the default mapping.
ExecFxOgreFBX no longer supports negative time keys in the FBX file simplifying the processing of matching up poses to specific frames.
Fixed a bug where manually issuing a select command with the currently selected animation group name would appear to select a random animation when in fact no animation is selected.
Improved bounding box calculations in FxOgreFBX. They are now computed from the skeleton whenever bones exist.
Fixed an oversight in the FaceFX SDK where FxFunctor was not deriving from FxUseAllocator.
Better error message when attempting to load an actor file created with a newer version of FaceFX.
Fixed an issue with the FBX Exporter where textures were not being found in the FBX directory if the texture path was a fully-qualified path to a missing file.
Fixed several bugs with evaluating animations very close to the animation end time.
The MaxAudioCacheMegabytes setting is now clamped to between 0 and 1024 when being read from the configuration file, the same way it is clamped when being set from the application options dialog.
Updated the EULA to reflect OC3 Entertainment’s current address.
The face graph baker no longer creates flat curves solely for the purpose of preserving the original animation length. It will now insert these length preserving keys in the first non-empty curve it finds.
Fixed a crash in the ExampleGameEngineIntegration when it cannot load its content files.
Renamed the Console tab to the Logs tab to avoid confusion as to its purpose.
Changed the icon for the “reset all sliders to their default values” button in Create Combiner and Visual Mapping mode to avoid confusion. That button now only resets the sliders to default values in both modes. Visual Mapping mode now has a new “delete all mapping entries for selected phoneme” button with a delete icon.
Pose naming conflicts when importing poses via FBX no longer result in an invalid state.
Fixed an issue with analysis actors where sometimes their event takes would not be properly linked up to animations.
FxOgreFBX now respects the Show property which is set in Max to control visibility.
Fixed a minor memory leak in the example game engine integration SDK sample.
FxOgreFBX no longer adds Blend shape animations to .MESH files if the character does not have any blend sphapes.
Improved Point light support for FBX, Max, and Maya Ogre exporters. No decay lights are supported by using a huge range. The far attenuation end parameter is used to set the range, and defaults to 100. The range start is always at the light’s origin
Fixed boundary case in FBX Importer plugin where FBXImporter directory was being used before being created causing FBX import to fail.
Prevented possible crash in the max plugin when trying to set the timeline to have zero-length.
Fixed a bug where the viewport background gradient was sometimes set to black.
Batch Exporting bone poses from the Max plugin now works regardless if all of the bone poses are in the visible timeline.
A Batch Export Text file is now required to create bone poses from an FBX. Hitting cancel on the Batch Export Text File browse button no longer exports each frame as a bone pose.
Removed FxAnimCurve::GetKeyM() as it was unsafe.
New coarticulation no longer inserts an AA phoneme after the IH phoneme if it is followed by silence.