Weight & Vertex Paint: always respect edit mode hiding on faces.
In some cases it is mandatory to be able to hide parts of the mesh in order to paint certain areas. The Mask modifier doesn't work in weight paint, and edit mode hiding requires using selection, which is not always convenient. This makes the weight and vertex paint modes always respect edit mode hiding like sculpt mode. The change in behavior affects drawing and building paint PBVH. Thus it affects brushes, but not menu operators like Smooth or Normalize. In addition, this makes the Alt-H shortcut available even without any selection enabled, and implements Hide for vertex selection. Differential Revision: https://developer.blender.org/D14163
This commit is contained in:
@@ -4397,7 +4397,7 @@ def km_face_mask(params):
|
||||
|
||||
items.extend([
|
||||
*_template_items_select_actions(params, "paint.face_select_all"),
|
||||
*_template_items_hide_reveal_actions("paint.face_select_hide", "paint.face_select_reveal"),
|
||||
*_template_items_hide_reveal_actions("paint.face_select_hide", "paint.face_vert_reveal"),
|
||||
("paint.face_select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
|
||||
("paint.face_select_linked_pick", {"type": 'L', "value": 'PRESS'},
|
||||
{"properties": [("deselect", False)]}),
|
||||
@@ -4418,6 +4418,7 @@ def km_weight_paint_vertex_selection(params):
|
||||
|
||||
items.extend([
|
||||
*_template_items_select_actions(params, "paint.vert_select_all"),
|
||||
*_template_items_hide_reveal_actions("paint.vert_select_hide", "paint.face_vert_reveal"),
|
||||
("view3d.select_box", {"type": 'B', "value": 'PRESS'}, None),
|
||||
("view3d.select_lasso", {"type": params.action_mouse, "value": 'CLICK_DRAG', "ctrl": True},
|
||||
{"properties": [("mode", 'ADD')]}),
|
||||
@@ -4968,6 +4969,7 @@ def km_vertex_paint(params):
|
||||
op_menu("VIEW3D_MT_angle_control", {"type": 'R', "value": 'PRESS'}),
|
||||
("wm.context_menu_enum", {"type": 'E', "value": 'PRESS'},
|
||||
{"properties": [("data_path", 'tool_settings.vertex_paint.brush.stroke_method')]}),
|
||||
("paint.face_vert_reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
|
||||
*_template_items_context_panel("VIEW3D_PT_paint_vertex_context_menu", params.context_menu_event),
|
||||
])
|
||||
|
||||
@@ -5015,6 +5017,7 @@ def km_weight_paint(params):
|
||||
("wm.context_toggle", {"type": 'S', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("data_path", 'tool_settings.weight_paint.brush.use_smooth_stroke')]}),
|
||||
op_menu_pie("VIEW3D_MT_wpaint_vgroup_lock_pie", {"type": 'K', "value": 'PRESS'}),
|
||||
("paint.face_vert_reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
|
||||
*_template_items_context_panel("VIEW3D_PT_paint_weight_context_menu", params.context_menu_event),
|
||||
])
|
||||
|
||||
|
||||
@@ -2948,7 +2948,7 @@ def km_face_mask(params):
|
||||
{"properties": [("unselected", False)]}),
|
||||
("paint.face_select_hide", {"type": 'H', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("unselected", True)]}),
|
||||
("paint.face_select_reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
|
||||
("paint.face_vert_reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
|
||||
("paint.face_select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
|
||||
("paint.face_select_linked_pick", {"type": 'L', "value": 'PRESS'},
|
||||
{"properties": [("deselect", False)]}),
|
||||
@@ -2969,6 +2969,9 @@ def km_weight_paint_vertex_selection(params):
|
||||
|
||||
items.extend([
|
||||
("paint.vert_select_all", {"type": 'A', "value": 'PRESS', "ctrl": True}, None),
|
||||
("paint.vert_select_hide", {"type": 'H', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("unselected", True)]}),
|
||||
("paint.face_vert_reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
|
||||
])
|
||||
|
||||
return keymap
|
||||
@@ -3330,6 +3333,7 @@ def km_vertex_paint(params):
|
||||
("wm.context_toggle", {"type": 'S', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("data_path", 'tool_settings.vertex_paint.brush.use_smooth_stroke')]}),
|
||||
op_menu("VIEW3D_MT_angle_control", {"type": 'R', "value": 'PRESS'}),
|
||||
("paint.face_vert_reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
|
||||
*_template_items_context_panel("VIEW3D_PT_paint_vertex_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
|
||||
# Tools
|
||||
("paint.brush_select", {"type": 'D', "value": 'PRESS'},
|
||||
@@ -3362,6 +3366,7 @@ def km_weight_paint(params):
|
||||
{"properties": [("data_path", 'weight_paint_object.data.use_paint_mask')]}),
|
||||
("wm.context_toggle", {"type": 'S', "value": 'PRESS', "shift": True},
|
||||
{"properties": [("data_path", 'tool_settings.weight_paint.brush.use_smooth_stroke')]}),
|
||||
("paint.face_vert_reveal", {"type": 'H', "value": 'PRESS', "alt": True}, None),
|
||||
*_template_items_context_panel("VIEW3D_PT_paint_weight_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}),
|
||||
# Bone selection for combined weight paint + pose mode.
|
||||
("view3d.select", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True}, None),
|
||||
|
||||
Reference in New Issue
Block a user