FBX Binary: Unnecesary keyframes on first and last frame of the timeline #45438

Closed
opened 2015-07-15 09:57:49 +02:00 by Al Dobra · 20 comments

System Information
Win 8.1 / GTS 250

Blender Version
Broken: 2.75 hash: f4f7348

Short description of error
Start and final frame of the rendering range gets a keyframe for every animated object

Exact steps for others to reproduce the error
Exporting to fbx binary I get unnecesary keyfames on first and last frame of the rendering range ( in my case on 1 and 250). I only put keyframes on the middle of the timeline, starting from frame 50. This can be quite troublesome if later edited in other software.
As for an example 3Ds Max FBX export does not export these start and final keyframes that are not added by the user.

Below you can see there is no keyframes on start and final frame of the timeline
pasted_file

But below you can see that after importing the fbx back into Blender I get keyframes on start and final frame of the timeline
pasted_file

Files are here:
empties.fbx
empties.blend

**System Information** Win 8.1 / GTS 250 **Blender Version** Broken: 2.75 hash: f4f7348 **Short description of error** Start and final frame of the rendering range gets a keyframe for every animated object **Exact steps for others to reproduce the error** Exporting to fbx binary I get unnecesary keyfames on first and last frame of the rendering range ( in my case on 1 and 250). I only put keyframes on the middle of the timeline, starting from frame 50. This can be quite troublesome if later edited in other software. As for an example 3Ds Max FBX export does not export these start and final keyframes that are not added by the user. Below you can see there is no keyframes on start and final frame of the timeline ![pasted_file](https://archive.blender.org/developer/F207173/pasted_file) But below you can see that after importing the fbx back into Blender I get keyframes on start and final frame of the timeline ![pasted_file](https://archive.blender.org/developer/F207175/pasted_file) Files are here: [empties.fbx](https://archive.blender.org/developer/F207177/empties.fbx) [empties.blend](https://archive.blender.org/developer/F207178/empties.blend)
Author

Changed status to: 'Open'

Changed status to: 'Open'
Bastien Montagne was assigned by Al Dobra 2015-07-15 09:57:49 +02:00
Author

Added subscriber: @AlexDoso

Added subscriber: @AlexDoso

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

Thanks for the report, but no bug here, this is expected behavior.

Thanks for the report, but no bug here, this is expected behavior.
Author

cool, but can this thing can be changed? (or could I?)
Imagine a scene with 3000 objects all with just first and last keyframes. That is 6000 unnecesary frames that will slow down real-time the animation for this reason :(

cool, but can this thing can be changed? (or could I?) Imagine a scene with 3000 objects all with just first and last keyframes. That is 6000 unnecesary frames that will slow down real-time the animation for this reason :(

I’d say that typically, you do not bother about two more keyframes - your 3000 objects would already have tens (or more) of keyframes each, anyway.

Further more, defining first and last keyframes is important for action length (usually, when exporting some animation, you want to be sure your actions have the same length as in Blender, even if their start/end is still)…

I guess I could add yet another option, if you can show me it’s really important, but meh… We already have too much options in the exporter, people often do not know how to use them. :|

I’d say that typically, you do not bother about two more keyframes - your 3000 objects would already have tens (or more) of keyframes each, anyway. Further more, defining first and last keyframes is important for action length (usually, when exporting some animation, you want to be sure your actions have the same length as in Blender, even if their start/end is still)… I guess I could add yet another option, if you can show me it’s really important, but meh… We already have too much options in the exporter, people often do not know how to use them. :|
Author

To be short:

  1. some software really start to work slower when many frames are in the timeline. For this optimization of keyframes is essential. Fortunately there is Simplify and Sample Rate option in the exporter options. By the way Simplify seems to do nothing with the keyframes.
  2. if further animation editing in other software, if timeline get streched, that last keyframe will be not visible, or if expanded and more keyframes will be added then that last keyframe (250 in my sent file) will be mistaken for a real keayframe that was created by user. The same if all the exported keyframes are moved on the timeline of the other software, or some keframes get deleted, the extra keyframes will just be reason make mistakes. Probably in some situations you may want to see a first and last keyframe even though you didn't create it, but again, this can cause mistakes. Mistakes are not fun :)

This could be an option to tick on the exporter menu like: "Start & Final Keyframes" with the tooltip"Add keyframes on start and final frame of the rendering range of timeline"

It's a win-win situation for everybody.

To be short: 1. some software really start to work slower when many frames are in the timeline. For this optimization of keyframes is essential. Fortunately there is Simplify and Sample Rate option in the exporter options. By the way Simplify seems to do nothing with the keyframes. 2. if further animation editing in other software, if timeline get streched, that last keyframe will be not visible, or if expanded and more keyframes will be added then that last keyframe (250 in my sent file) will be mistaken for a real keayframe that was created by user. The same if all the exported keyframes are moved on the timeline of the other software, or some keframes get deleted, the extra keyframes will just be reason make mistakes. Probably in some situations you may want to see a first and last keyframe even though you didn't create it, but again, this can cause mistakes. Mistakes are not fun :) This could be an option to tick on the exporter menu like: "Start & Final Keyframes" with the tooltip"Add keyframes on start and final frame of the rendering range of timeline" It's a win-win situation for everybody.
Author

let me give you a 3rd more practical example, to considerate:

if we have a scene with 2 objects: one has a start of animation from frame 50 till frame 100; the other one will start from 100 and stop at 2000.
Now, after importing the fbx in other software we will need to separate the objects in multiple scenes. In one scene it will be the first object, the second scene will have only the second object, and the third scene will have both object.

So, all scenes will start and end at the same time. First scene will be very boring because from frame 100 till 2000 nothing will happen. But the timeline line will keep moving till the end causing unnecessary seconds added to the export as video. Of course the last frame can be deleted, but imagine instead of one object there are actually 3000 objects to delete frames from. And the software only exports from frame one until the last frame regarding of the timeline length.

Bastien, I hope you understand my point now ;)

let me give you a 3rd more practical example, to considerate: if we have a scene with 2 objects: one has a start of animation from frame 50 till frame 100; the other one will start from 100 and stop at 2000. Now, after importing the fbx in other software we will need to separate the objects in multiple scenes. In one scene it will be the first object, the second scene will have only the second object, and the third scene will have both object. So, all scenes will start and end at the same time. First scene will be very boring because from frame 100 till 2000 nothing will happen. But the timeline line will keep moving till the end causing unnecessary seconds added to the export as video. Of course the last frame can be deleted, but imagine instead of one object there are actually 3000 objects to delete frames from. And the software only exports from frame one until the last frame regarding of the timeline length. Bastien, I hope you understand my point now ;)

Tbh I do not really understand why this is such an issue, sounds a bit like bad designed applications to me :P

But anyway, will add the option - though exporting start/end keyframes will be ON by default, it’s important not to break previous behavior (unless we have a really good reason to do so), and I know quite a bit of pipelines which rely on that too (that’s why it was implemented this way in the first place).

Btw, if you always need a same set of non-default options, you should be able to create a custom preset for it, easier than changing half a dozen of options each time you want to export. :)

Tbh I do not really understand why this is such an issue, sounds a bit like bad designed applications to me :P But anyway, will add the option - though exporting start/end keyframes will be ON by default, it’s important not to break previous behavior (unless we have a *really good* reason to do so), and I know quite a bit of pipelines which rely on that too (that’s why it was implemented this way in the first place). Btw, if you always need a same set of non-default options, you should be able to create a custom preset for it, easier than changing half a dozen of options each time you want to export. :)
Author

this option will be so cool ! I'm so glad you decided to take into consideration.
Okay, start/end keyframes can be ON by default. That is fine.
Hope you can make that changes to the code soon, I have lots of files to correct. Thanks again! If you can please notify me here when the code got updated.

this option will be so cool ! I'm so glad you decided to take into consideration. Okay, start/end keyframes can be ON by default. That is fine. Hope you can make that changes to the code soon, I have lots of files to correct. Thanks again! If you can please notify me here when the code got updated.

Hehe, it’s already in since yesterday evening (so should be in latest nightly build). ;)

Hehe, it’s already in since yesterday evening (so should be in latest nightly build). ;)
Author

well, it seem that the feature doesn't appear on the exporter yet, no checking button seems to be in this blender versions:
blender-2.75-52fa5b1-win64.zip
gooseberry-blender-2.75-bbed9b2-win64.zip
win64_cmake_vc2013.zip

well, it seem that the feature doesn't appear on the exporter yet, no checking button seems to be in this blender versions: blender-2.75-52fa5b1-win64.zip gooseberry-blender-2.75-bbed9b2-win64.zip win64_cmake_vc2013.zip

Yeah… Last win build is from 07/15 2:00 AM, builder is MIA since then, so indeed change is not available yet on windows.

Will kick Martijn to reboot that lazy win buildbot!

Yeah… Last win build is from 07/15 2:00 AM, builder is MIA since then, so indeed change is not available yet on windows. Will kick Martijn to reboot that lazy win buildbot!

Added subscriber: @sindra1961

Added subscriber: @sindra1961

@mont29:
win buildbot works, but it fails in build for a while.

@mont29: win buildbot works, but it fails in build for a while.
Author

or could you please tell me what should I add/remove from the code in order to have the last thing working ? - like you gave me after the bug of weird keyframes on children, Bastien ?

or could you please tell me what should I add/remove from the code in order to have the last thing working ? - like you gave me after the bug of weird keyframes on children, Bastien ?

Well, thing to do would be the same as for children keyframes - download latest code from our addon repo, and replace your current io_scene_fbx directory content by it.

Anyway, new win buildbot builds are up now :)

Well, thing to do would be the same as for children keyframes - download latest code from our addon repo, and replace your current io_scene_fbx directory content by it. Anyway, new win buildbot builds are up now :)
Author

well, here https://builder.blender.org/download/ seem to be Windows versions from tuesday and wednesday only.
and here on the repo, there is no link to download from http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/Autodesk_FBX

so, where can I get it, then ?

well, here https://builder.blender.org/download/ seem to be Windows versions from tuesday and wednesday only. and here on the repo, there is no link to download from http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/Autodesk_FBX so, where can I get it, then ?

sigh on said https://builder.blender.org/download/ page I see on first line (since two hours at least):

Operating System Variation Name Size Built On
Windows 64 bit Official blender-2.75-4052384-win64.zip 105M Fri Jul 17 08:09:05 2015
*sigh* on said https://builder.blender.org/download/ page I see on first line (since two hours at least): | Operating System | Variation | Name | Size | Built On | --- | --- | --- | --- | --- | Windows 64 bit | Official | blender-2.75-4052384-win64.zip | 105M | Fri Jul 17 08:09:05 2015
Author

yes. Now I see it! For some reason the page didn't updated for me.
the new exporter looks cooler with the new tabs! Good job guys!

yes. Now I see it! For some reason the page didn't updated for me. the new exporter looks cooler with the new tabs! Good job guys!
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 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#45438
No description provided.