diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-12-11 13:55:55 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-12-11 13:58:13 +0300 |
commit | ed2c64455a78bcc43a0fefbb6cd3a3e0220c5168 (patch) | |
tree | 08d6b53e2df4ee5e0b2817e3284ce6b8e4482a20 /io_scene_fbx/export_fbx_bin.py | |
parent | e05c81e0ad0ba49642a9b8bd4b49a5f6049758d8 (diff) |
Fix FBX export with deforming armature.
Indirectly reported in T59162. We do not have access to render depsgraph
currently, so we need to work on `show_viewport` option of modifiers we
want to hide when generating temp export mesh, instead of `show_render`
one...
Diffstat (limited to 'io_scene_fbx/export_fbx_bin.py')
-rw-r--r-- | io_scene_fbx/export_fbx_bin.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/io_scene_fbx/export_fbx_bin.py b/io_scene_fbx/export_fbx_bin.py index 4defc7c7..1f95eace 100644 --- a/io_scene_fbx/export_fbx_bin.py +++ b/io_scene_fbx/export_fbx_bin.py @@ -2184,10 +2184,12 @@ def fbx_data_from_scene(scene, depsgraph, settings): # No need to create a new mesh in this case, if no modifier is active! for mod in ob.modifiers: # For meshes, when armature export is enabled, disable Armature modifiers here! + # XXX Temp hacks here since currently we only have access to a viewport depsgraph... if mod.type == 'ARMATURE' and 'ARMATURE' in settings.object_types: - tmp_mods.append((mod, mod.show_render)) + tmp_mods.append((mod, mod.show_render, mod.show_viewport)) mod.show_render = False - if mod.show_render: + mod.show_viewport = False + if mod.show_render or mod.show_viewport: use_org_data = False if not use_org_data: tmp_me = ob.to_mesh( @@ -2195,8 +2197,9 @@ def fbx_data_from_scene(scene, depsgraph, settings): apply_modifiers=settings.use_mesh_modifiers) data_meshes[ob_obj] = (get_blenderID_key(tmp_me), tmp_me, True) # Re-enable temporary disabled modifiers. - for mod, show_render in tmp_mods: + for mod, show_render, show_viewport in tmp_mods: mod.show_render = show_render + mod.show_viewport = show_viewport if use_org_data: data_meshes[ob_obj] = (get_blenderID_key(ob.data), ob.data, False) |