From 559e3db792b29d618e00a25aaf7ef35d1d2bee94 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 2 Jun 2014 12:46:55 +0600 Subject: [PATCH] Keep active layer when setting up tracking scene When you hit "setup tracking scene" in MCE, the active layer usually switches to the layer where the ground has been created, thus he shadow layer. New objects are created or appended on that layer which means they will be default be rendered as shadows only. This behaviour requires muscle memory and is confusing for new users. This patch is changing the behaviour in a way that the active layer is remembered from before setting up the scene. Patch by gottfried, thanks! Reviewers: sebastian_k, sergey Differential Revision: https://developer.blender.org/D574 --- release/scripts/startup/bl_operators/clip.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/release/scripts/startup/bl_operators/clip.py b/release/scripts/startup/bl_operators/clip.py index 7e142cebb4f..21b96276bb6 100644 --- a/release/scripts/startup/bl_operators/clip.py +++ b/release/scripts/startup/bl_operators/clip.py @@ -856,6 +856,9 @@ class CLIP_OT_setup_tracking_scene(Operator): scene.layers = self._mergeLayers(scene.layers, all_layers) def execute(self, context): + scene = context.scene + current_active_layer = scene.active_layer + self._setupScene(context) self._setupWorld(context) self._setupCamera(context) @@ -864,6 +867,10 @@ class CLIP_OT_setup_tracking_scene(Operator): self._setupNodes(context) self._setupObjects(context) + # Active layer has probably changed, set it back to the original value. + # NOTE: The active layer is always true. + scene.layers[current_active_layer] = True + return {'FINISHED'}