Fix T53202: Complex armature with bone constraints, FBX export bug.

Need more scene updates in FBX anim export code to ensure we do get sane
poses...
This commit is contained in:
Bastien Montagne 2017-10-31 15:43:34 +01:00
parent 3e29cb17a7
commit 0b286650b3
Notes: blender-bot 2023-02-14 19:34:18 +01:00
Referenced by issue #53202, Complex armature with bone constraints - setting PoseBone matrix_basis may not influence another bone's matrix as expected as not calculated yet (possible bug, definite FBX export bug!)
2 changed files with 4 additions and 1 deletions

View File

@ -21,7 +21,7 @@
bl_info = {
"name": "FBX format",
"author": "Campbell Barton, Bastien Montagne, Jens Restemeier",
"version": (3, 8, 1),
"version": (3, 8, 2),
"blender": (2, 79, 1),
"location": "File > Import-Export",
"description": "FBX IO meshes, UV's, vertex colors, materials, textures, cameras, lamps and actions",

View File

@ -2021,6 +2021,7 @@ def fbx_animations(scene_data):
add_anim(animations, animated,
fbx_animations_do(scene_data, strip, strip.frame_start, strip.frame_end, True, force_keep=True))
strip.mute = True
scene.frame_set(scene.frame_current, 0.0)
for strip in strips:
strip.mute = False
@ -2099,6 +2100,7 @@ def fbx_animations(scene_data):
pbo.matrix_basis = mat.copy()
ob.animation_data.action = org_act
restore_object(ob, ob_copy)
scene.frame_set(scene.frame_current, 0.0)
if pbones_matrices is not ...:
for pbo, mat in zip(ob.pose.bones, pbones_matrices):
@ -2106,6 +2108,7 @@ def fbx_animations(scene_data):
ob.animation_data.action = org_act
bpy.data.objects.remove(ob_copy)
scene.frame_set(scene.frame_current, 0.0)
# Global (containing everything) animstack, only if not exporting NLA strips and/or all actions.
if not scene_data.settings.bake_anim_use_nla_strips and not scene_data.settings.bake_anim_use_all_actions: