Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Duroure <julien.duroure@gmail.com>2021-12-18 14:03:58 +0300
committerJulien Duroure <julien.duroure@gmail.com>2021-12-18 14:03:58 +0300
commitf35aff344ff651364a54cc6c9fa75bf2699ad2a8 (patch)
treef370bc3c47a3716e5fb7931f618366caf1dd6574 /io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py
parentf1c4959cd05682855c6bfa0e96924f0b6a2676aa (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-xio_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py11
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