From c5ec8d91bd125f8ed1d0a964e36e601da993f5d2 Mon Sep 17 00:00:00 2001 From: Pablo Dobarro Date: Wed, 1 Jul 2020 19:19:30 +0200 Subject: Sculpt: Mask By Color This tool generates masks based on the sculpt vertex colors by clicking on the model, similar to automatic selection tools in image editing software. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8157 --- .../presets/keyconfig/keymap_data/blender_default.py | 13 +++++++++++++ .../startup/bl_ui/space_toolsystem_toolbar.py | 20 ++++++++++++++++++++ 2 files changed, 33 insertions(+) (limited to 'release') diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py index 57b31175728..4b037f209bb 100644 --- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py +++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py @@ -6302,6 +6302,18 @@ def km_3d_view_tool_sculpt_color_filter(params): ]}, ) +def km_3d_view_tool_sculpt_mask_by_color(params): + return ( + "3D View Tool: Sculpt, Mask By Color", + {"space_type": 'VIEW_3D', "region_type": 'WINDOW'}, + {"items": [ + ("sculpt.mask_by_color", {"type": params.tool_mouse, "value": 'ANY'}, + None), + ("sculpt.mask_by_color", {"type": params.tool_tweak, "value": 'ANY'}, + None), + ]}, + ) + def km_3d_view_tool_paint_weight_sample_weight(params): return ( "3D View Tool: Paint Weight, Sample Weight", @@ -6843,6 +6855,7 @@ def generate_keymaps(params=None): km_3d_view_tool_sculpt_mesh_filter(params), km_3d_view_tool_sculpt_cloth_filter(params), km_3d_view_tool_sculpt_color_filter(params), + km_3d_view_tool_sculpt_mask_by_color(params), km_3d_view_tool_paint_weight_sample_weight(params), km_3d_view_tool_paint_weight_sample_vertex_group(params), km_3d_view_tool_paint_weight_gradient(params), diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py index 2391678b99b..87464451632 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py @@ -1276,6 +1276,24 @@ class _defs_sculpt: draw_settings=draw_settings, ) + @ToolDef.from_fn + def mask_by_color(): + def draw_settings(_context, layout, tool): + props = tool.operator_properties("sculpt.mask_by_color") + layout.prop(props, "threshold") + layout.prop(props, "contiguous") + layout.prop(props, "invert") + layout.prop(props, "preserve_previous_mask") + + return dict( + idname="builtin.mask_by_color", + label="Mask By Color", + icon="ops.sculpt.mask_by_color", + widget=None, + keymap=(), + draw_settings=draw_settings, + ) + class _defs_vertex_paint: @@ -2453,6 +2471,8 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel): _defs_sculpt.cloth_filter, _defs_sculpt.color_filter, None, + _defs_sculpt.mask_by_color, + None, _defs_transform.translate, _defs_transform.rotate, _defs_transform.scale, -- cgit v1.2.3