From dd0dffef42ae64d1bf16e879e3f1470ce3bf5cad Mon Sep 17 00:00:00 2001 From: Julien Duroure <julien.duroure@gmail.com> Date: Thu, 28 Feb 2019 22:03:54 +0100 Subject: [PATCH] glTF importer: avoid rotation issue when active collection is disabled --- io_scene_gltf2/blender/imp/gltf2_blender_scene.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py index d21cdf33c..f935eb026 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: -- GitLab