diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py index 87798cfdec5ad0992bf1f7b98a6ba866148d7125..09c52ce893083de6cd9ca112287dda2879fa1a8f 100755 --- a/io_scene_gltf2/__init__.py +++ b/io_scene_gltf2/__init__.py @@ -15,7 +15,7 @@ bl_info = { 'name': 'glTF 2.0 format', 'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin SchmithĂĽsen, Jim Eckerlein, and many external contributors', - "version": (1, 4, 12), + "version": (1, 4, 13), 'blender': (2, 90, 0), 'location': 'File > Import-Export', 'description': 'Import-Export as glTF 2.0', diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py index 6119eb950589d03fa385e9d407e19c0c7862082a..e6eadcd6b41653d9b8756cf92575a87e0001ec7f 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py @@ -43,6 +43,7 @@ class BlenderScene(): if bpy.context.mode != 'OBJECT': bpy.ops.object.mode_set(mode='OBJECT') + BlenderScene.select_imported_objects(gltf) BlenderScene.set_active_object(gltf) @staticmethod @@ -56,6 +57,16 @@ class BlenderScene(): anim_name = gltf.data.animations[0].track_name BlenderAnimation.restore_animation(gltf, anim_name) + @staticmethod + def select_imported_objects(gltf): + """Select all (and only) the imported objects.""" + if bpy.ops.object.select_all.poll(): + bpy.ops.object.select_all(action='DESELECT') + + for vnode in gltf.vnodes.values(): + if vnode.type == VNode.Object: + vnode.blender_object.select_set(state=True) + @staticmethod def set_active_object(gltf): """Make the first root object from the default glTF scene active.