diff options
Diffstat (limited to 'io_scene_gltf2/blender')
-rwxr-xr-x | io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py index 819c8085..abd498df 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py @@ -52,6 +52,10 @@ def gather_animations(blender_object: bpy.types.Object, track.is_solo = False break + # Remove any tweak mode. Restore after export + if blender_object.animation_data: + restore_tweak_mode = blender_object.animation_data.use_tweak_mode + # Export all collected actions. for blender_action, track_name, on_type in blender_actions: @@ -60,10 +64,7 @@ def gather_animations(blender_object: bpy.types.Object, if blender_object.animation_data.action is None \ or (blender_object.animation_data.action.name != blender_action.name): if blender_object.animation_data.is_property_readonly('action'): - # NLA stuff: some track are on readonly mode, we can't change action - error = "Action is readonly. Please check NLA editor" - print_console("WARNING", "Animation '{}' could not be exported. Cause: {}".format(blender_action.name, error)) - continue + blender_object.animation_data.use_tweak_mode = False try: blender_object.animation_data.action = blender_action except: @@ -97,7 +98,7 @@ def gather_animations(blender_object: bpy.types.Object, blender_object.animation_data.action = current_action if solo_track is not None: solo_track.is_solo = True - + blender_object.animation_data.use_tweak_mode = restore_tweak_mode return animations, tracks |