From 8ac09109617d8acd81747bd3dffed915aa99c8cc Mon Sep 17 00:00:00 2001 From: Julien Duroure Date: Sun, 25 Nov 2018 16:08:23 +0100 Subject: glTF importer: fix bug in animation import Problem occured when importing a gltf, delete objects, and importing a new gltf, with same object / armature --- io_scene_gltf2/blender/imp/gltf2_blender_animation_bone.py | 6 ++++++ io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_animation_bone.py b/io_scene_gltf2/blender/imp/gltf2_blender_animation_bone.py index 6b670aea..ec95692b 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_animation_bone.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_animation_bone.py @@ -170,6 +170,12 @@ class BlenderBoneAnim(): action = bpy.data.actions.new(name) else: action = bpy.data.actions[name] + # Check if this action has some users. + # If no user (only 1 indeed), that means that this action must be deleted + # (is an action from a deleted action) + if action.users == 1: + bpy.data.actions.remove(action) + action = bpy.data.actions.new(name) if not obj.animation_data: obj.animation_data_create() obj.animation_data.action = bpy.data.actions[action.name] diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py b/io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py index a5d4b40f..2a04f469 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_animation_node.py @@ -53,6 +53,12 @@ class BlenderNodeAnim(): else: name = "Animation_" + str(anim_idx) + "_" + obj.name action = bpy.data.actions.new(name) + # Check if this action has some users. + # If no user (only 1 indeed), that means that this action must be deleted + # (is an action from a deleted action) + if action.users == 1: + bpy.data.actions.remove(action) + action = bpy.data.actions.new(name) if not obj.animation_data: obj.animation_data_create() obj.animation_data.action = bpy.data.actions[action.name] -- cgit v1.2.3