FBX exporter bin fails to export linked armature #45677

Closed
opened 2015-08-04 18:42:05 +02:00 by wHiteRabbiT-sTudio · 11 comments

Blender Version
Blender version 2.75a
io_scene_fbx version 3.3.3 to 3.5.2

Short description of error
FBX exporter bin fails to export linked armature:

Traceback (most recent call last):

File "C:\Softs\Blender Foundation\Blender\2.75\scripts\addons\io_scene_fbx\__init__.py", line 577, in execute
  return export_fbx_bin.save(self, context, **keywords)
File "C:\Softs\Blender Foundation\Blender\2.75\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 3001, in save
  ret = save_single(operator, context.scene, filepath, **kwargs_mod)
File "C:\Softs\Blender Foundation\Blender\2.75\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 2896, in save_single
  scene_data = fbx_data_from_scene(scene, settings)
File "C:\Softs\Blender Foundation\Blender\2.75\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 2419, in fbx_data_from_scene
  empty_key = data_empties[ob_obj]

Exact steps for others to reproduce the error
Create a new file, delete all, add an armature, group it. Save it. Source.blend
Create a new file, link the previous group in it Link.blend
Export to fbx bin 7.4 => crash

**Blender Version** Blender version 2.75a io_scene_fbx version 3.3.3 to 3.5.2 **Short description of error** FBX exporter bin fails to export linked armature: Traceback (most recent call last): ``` File "C:\Softs\Blender Foundation\Blender\2.75\scripts\addons\io_scene_fbx\__init__.py", line 577, in execute return export_fbx_bin.save(self, context, **keywords) File "C:\Softs\Blender Foundation\Blender\2.75\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 3001, in save ret = save_single(operator, context.scene, filepath, **kwargs_mod) File "C:\Softs\Blender Foundation\Blender\2.75\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 2896, in save_single scene_data = fbx_data_from_scene(scene, settings) File "C:\Softs\Blender Foundation\Blender\2.75\scripts\addons\io_scene_fbx\export_fbx_bin.py", line 2419, in fbx_data_from_scene empty_key = data_empties[ob_obj] ``` **Exact steps for others to reproduce the error** Create a new file, delete all, add an armature, group it. Save it. [Source.blend](https://archive.blender.org/developer/F219340/Source.blend) Create a new file, link the previous group in it [Link.blend](https://archive.blender.org/developer/F219339/Link.blend) Export to fbx bin 7.4 => crash

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @Eclectyc

Added subscriber: @Eclectyc

Added subscribers: @mont29, @Sergey

Added subscribers: @mont29, @Sergey

@mont29, mind having a look? :)

@mont29, mind having a look? :)
Bastien Montagne was assigned by Sergey Sharybin 2015-08-05 13:52:16 +02:00

Problem is with libs data, need to ref data by (name, lib) tuple instead of only name… Have to change this all over in the exporter I guess. :/

Problem is with libs data, need to ref data by (name, lib) tuple instead of only name… Have to change this all over in the exporter I guess. :/

Ah no, cancel that, issue here is even more exotic - no need to link, it does not supports instances of groups containing an armature… TBH, I’m not sure I want to support that, will have a closer look though.

Ah no, cancel that, issue here is even more exotic - no need to link, it does not supports instances of groups containing an armature… TBH, I’m not sure I want to support that, will have a closer look though.

Will commit a 'fix' that will prevent that case from crashing on export. However, supporting dupli instances of armatures (as it is the case when instancing a group containing armatures) is simply not possible currently, and honestly I do not intend to do so in any near future (will put it on FBX TODO list though). Reasons are:

  • FBX way of handling armatures (skeleton is not a data type in FBX, rather a chain of 'specialized' empty objects - this means we’d need to duplicate all bones for each instance, unlike with regular meshes where we really can instantiate the same geometry from all 'dupli' models).
  • Matrices/transform/names/connections hyper-nightmare in perspective. Armature handling is already a nightmare, but if you multiply it by dupli handling… Not fun - at all.

So in a nutshell: do not expect support of armature instances anytime soon.

Will commit a 'fix' that will prevent that case from crashing on export. However, supporting dupli instances of armatures (as it is the case when instancing a group containing armatures) is simply not possible currently, and honestly I do not intend to do so in any near future (will put it on FBX TODO list though). Reasons are: * FBX way of handling armatures (skeleton is not a data type in FBX, rather a chain of 'specialized' empty objects - this means we’d need to duplicate all bones for each instance, unlike with regular meshes where we really can instantiate the same geometry from all 'dupli' models). * Matrices/transform/names/connections hyper-nightmare in perspective. Armature handling is already a nightmare, but if you multiply it by dupli handling… Not fun - at all. So in a nutshell: do not expect support of armature instances anytime soon.

This issue was referenced by 0015dd2308

This issue was referenced by 0015dd2308be82151efc354e78d608f4108aeb14

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Thanks for your concern.
FYI, the ASCII exporter support this, you could maybe try to copy it ?

Thanks for your concern. FYI, the ASCII exporter support this, you could maybe try to copy it ?

No I cannot, 6.1 code and 7.4 one are totally different. Furthermore, I really doubt it’s working in 6.1 exporter either (at least not fully, might work in a few, simple cases), there’s even a comment in 6.1 ascii source code saying # TODO - armatures dont work in dupligroups!

No I cannot, 6.1 code and 7.4 one are totally different. Furthermore, I really doubt it’s working in 6.1 exporter either (at least not fully, might work in a few, simple cases), there’s even a comment in 6.1 ascii source code saying `# TODO - armatures dont work in dupligroups!`
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 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#45677
No description provided.