diff options
author | Julien Duroure <julien.duroure@gmail.com> | 2021-12-18 14:03:58 +0300 |
---|---|---|
committer | Julien Duroure <julien.duroure@gmail.com> | 2021-12-18 14:03:58 +0300 |
commit | f35aff344ff651364a54cc6c9fa75bf2699ad2a8 (patch) | |
tree | f370bc3c47a3716e5fb7931f618366caf1dd6574 /io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py | |
parent | f1c4959cd05682855c6bfa0e96924f0b6a2676aa (diff) |
glTF exporter: Manage tweak mode in NLA when needed
Diffstat (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py')
-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 |