Exporting FBX 7.4 binary with custom scene frame rate results in the FBX always having a frame rate of 12.5 #48610

Closed
opened 2016-06-08 10:19:16 +02:00 by Frankie Hobbins · 9 comments

System Information
win 10, gtx970

Blender Version
Broken: 2.77a abf6f08

Short description of error
Exporting FBX 7.4 binary with custom scene FPS results in the FBX always having a frame rate of 12.5

Exact steps for others to reproduce the error
You can see the fps either in Unity the game engine or autodesk FBX tools. To see in Unity you need a blend file with mesh skinned to animated bones, to see with the FBX tools you can use any, including the default, scene.

Export binary FBX file with one of the preset scene frame rate and see how the FBX has the desired frame rate.

Then pick a custom frame rate, export and see how the FBX frame rate is set to 12.5 instead of this new custom value. The key frame data is also compressed into a new time scale (e.g. last frame has changed and the key frames are no longer integer numbers)

youtube video of the processes; https://youtu.be/CIo011zBqdQ
close up of the obscured unity data; https://youtu.be/Wu8vevh3Kfg

Attached assets to the bug report which were used in the video. (meta files were generated by unity)

Assets.rar

**System Information** win 10, gtx970 **Blender Version** Broken: 2.77a abf6f08 **Short description of error** Exporting FBX 7.4 binary with custom scene FPS results in the FBX always having a frame rate of 12.5 **Exact steps for others to reproduce the error** You can see the fps either in Unity the game engine or autodesk FBX tools. To see in Unity you need a blend file with mesh skinned to animated bones, to see with the FBX tools you can use any, including the default, scene. Export binary FBX file with one of the preset scene frame rate and see how the FBX has the desired frame rate. Then pick a custom frame rate, export and see how the FBX frame rate is set to 12.5 instead of this new custom value. The key frame data is also compressed into a new time scale (e.g. last frame has changed and the key frames are no longer integer numbers) youtube video of the processes; https://youtu.be/CIo011zBqdQ close up of the obscured unity data; https://youtu.be/Wu8vevh3Kfg Attached assets to the bug report which were used in the video. (meta files were generated by unity) [Assets.rar](https://archive.blender.org/developer/F316407/Assets.rar)

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @FrankieHobbins

Added subscriber: @FrankieHobbins

Added subscriber: @mont29

Added subscriber: @mont29

Custom framerate is exported with correct value in CustomFrameRate property, and TimeMode is set to 14, which is enum value of 'custom' framerate.

So afaik everything is OK, but FBX being FBX, that PoS likely needs yet another extra, totally exotic and unrelated setting to actually understand we are feeding it with some custom framerate.

Please give me a dummy FBX exported from Maya or Max with a custom framerate (2013 or 2014 version, later are not supported), so that I can compare and try to find what's missing for custom framerate…

Custom framerate is exported with correct value in `CustomFrameRate` property, and `TimeMode` is set to 14, which is enum value of 'custom' framerate. So afaik everything is OK, but FBX being FBX, that PoS likely needs yet another extra, totally exotic and unrelated setting to actually understand we are feeding it with some custom framerate. Please give me a dummy FBX exported from Maya or Max with a custom framerate (2013 or 2014 version, later are not supported), so that I can compare and try to find what's missing for custom framerate…

I don't have Max or Maya so just want to clarify before asking someone to export a test for me. Max or Maya version can be any but the fbx plugin used needs to be 2013 or 2014.

I previously asked someone to export from max however I think the version is wrong test_bonebox.FBX so the rest if it is
the file info says;
Version: 7.4.0
Format: Binary
Creator: FBX SDK/FBX Plugins version 2016.0

the funny thing about that particular test fbx is it was exported at 80fps with 267 frames but fbx says 30fps and 100 frames

I don't have Max or Maya so just want to clarify before asking someone to export a test for me. Max or Maya version can be any but the fbx plugin used needs to be 2013 or 2014. I previously asked someone to export from max however I think the version is wrong [test_bonebox.FBX](https://archive.blender.org/developer/F316430/test_bonebox.FBX) so the rest if it is the file info says; Version: 7.4.0 Format: Binary Creator: FBX SDK/FBX Plugins version 2016.0 the funny thing about that particular test fbx is it was exported at 80fps with 267 frames but fbx says 30fps and 100 frames

FBX 7.4 (or 7.3) are OK (those are '2014' or '2013' versions).

That file has 0 as TimeMode (which means default - sic), and -1.0 as custom framerate - in other words, it did not export the custom framerate at all… Looks like Blender supports that better than Max. :P

FBX 7.4 (or 7.3) are OK (those are '2014' or '2013' versions). That file has 0 as `TimeMode` (which means default - *sic*), and -1.0 as custom framerate - in other words, it did not export the custom framerate at all… Looks like Blender supports that better than Max. :P

Thank you for looking into it, I've managed to find a few people to test and no one has managed to export from either max or maya with a custom fps so perhaps its not possible with fbx after all and we should mark this as not a bug!

I have attached anyway, they are all from maya. The filenames with the fps also had the last frame moved in maya so the animation was 1 second long. test.fbx was set to 16fps with frames 1 to 80, it resampled to 30fps frames 2 to 150

{F316574}{F316571}{F316572}26fpsBoxtest.fbx

I don't really understand or expect it's much help;

Member Function Documentation

static void SetGlobalTimeMode ( ETimeMode pTimeMode,
double pFrameRate=0.0
) [static]
Set default time mode.
Parameters:
pTimeMode Time mode identifier.
pFrameRate in case of timemode = custom, we specify the custom framerate to use: EX:12.5
Remarks:
It is meaningless to set default time mode toeDEFAULT_MODE.

from http://download.autodesk.com/us/fbx/SDKdocs/FBX_SDK_Help/files/fbxsdkref/class_k_time.html

it was also pointed out to me that blender will re import the custom fps and set the scene to that value with animations the expected length

Thank you for looking into it, I've managed to find a few people to test and no one has managed to export from either max or maya with a custom fps so perhaps its not possible with fbx after all and we should mark this as not a bug! I have attached anyway, they are all from maya. The filenames with the fps also had the last frame moved in maya so the animation was 1 second long. test.fbx was set to 16fps with frames 1 to 80, it resampled to 30fps frames 2 to 150 {[F316574](https://archive.blender.org/developer/F316574/test.fbx)}{[F316571](https://archive.blender.org/developer/F316571/37fpsBoxtest.fbx)}{[F316572](https://archive.blender.org/developer/F316572/12fpsBoxtest.fbx)}[26fpsBoxtest.fbx](https://archive.blender.org/developer/F316573/26fpsBoxtest.fbx) I don't really understand or expect it's much help; Member Function Documentation static void SetGlobalTimeMode ( ETimeMode pTimeMode, double pFrameRate=0.0 ) [static] Set default time mode. Parameters: pTimeMode Time mode identifier. pFrameRate in case of timemode = custom, we specify the custom framerate to use: EX:12.5 Remarks: It is meaningless to set default time mode toeDEFAULT_MODE. from http://download.autodesk.com/us/fbx/SDKdocs/FBX_SDK_Help/files/fbxsdkref/class_k_time.html it was also pointed out to me that blender will re import the custom fps and set the scene to that value with animations the expected length

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Bastien Montagne self-assigned this 2016-06-09 20:46:52 +02:00

Well… FBX itself totally supports custom FPS, it’s just own autodesk main products (maya and max) which does not support exporting/importing it to/from FBX!

[troll mode]Now we can claim Blender has better support of FBX than even Maya or 3DSMax! :DD [/troll mode]

Anyway, thanks for the report, but looks like issue is with other tools' FBX support, for once. ;)

Well… FBX itself totally supports custom FPS, it’s just own autodesk main products (maya and max) which does not support exporting/importing it to/from FBX! [troll mode]Now we can claim Blender has better support of FBX than even Maya or 3DSMax! :DD [/troll mode] Anyway, thanks for the report, but looks like issue is with other tools' FBX support, for once. ;)
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#48610
No description provided.