diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py index d21cdf33c3e48e3c0839ca31a8c6a32fdacd501c..f935eb026b01b3b16394b390344bb1d3c1e576a6 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py @@ -121,6 +121,13 @@ class BlenderScene(): + + # Avoid rotation bug if collection is hidden or disabled + if gltf.blender_active_collection is not None: + gltf.collection_hide_viewport = bpy.data.collections[gltf.blender_active_collection].hide_viewport + bpy.data.collections[gltf.blender_active_collection].hide_viewport = False + # TODO for visibility ... but seems not exposed on bpy for now + for node_idx in list_nodes: if node_idx in exclude_nodes: @@ -143,6 +150,11 @@ class BlenderScene(): #bpy.context.scene.collection.objects.unlink(obj_rotation) bpy.data.objects.remove(obj_rotation) + # Restore collection hiden / disabled values + if gltf.blender_active_collection is not None: + bpy.data.collections[gltf.blender_active_collection].hide_viewport = gltf.collection_hide_viewport + # TODO restore visibility when expose in bpy + @staticmethod def get_root_nodes(gltf): if gltf.data.nodes is None: