Fix T66362, T66004: Cycles holdout should override indirect only

Now it works again like 2.7, rather than objects disappearing from camera
rays when both options are on.
This commit is contained in:
Brecht Van Lommel 2019-07-04 17:28:39 +02:00
parent eed19d9f45
commit 2740bdfff9
2 changed files with 4 additions and 2 deletions

View file

@ -357,7 +357,8 @@ Object *BlenderSync::sync_object(BL::Depsgraph &b_depsgraph,
#endif
/* Clear camera visibility for indirect only objects. */
bool use_indirect_only = b_parent.indirect_only_get(PointerRNA_NULL, b_view_layer);
bool use_indirect_only = !use_holdout &&
b_parent.indirect_only_get(PointerRNA_NULL, b_view_layer);
if (use_indirect_only) {
visibility &= ~PATH_RAY_CAMERA;
}

View file

@ -1443,7 +1443,8 @@ static void outliner_draw_restrictbuts(uiBlock *block,
layer_collection,
(char *)"indirect_only");
UI_but_flag_enable(bt, UI_BUT_DRAG_LOCK);
if (!props_active.layer_collection_indirect_only) {
if (props_active.layer_collection_holdout ||
!props_active.layer_collection_indirect_only) {
UI_but_flag_enable(bt, UI_BUT_INACTIVE);
}
}