From 74052a9f02a1f891300bb1e36b98556c5f7820b2 Mon Sep 17 00:00:00 2001 From: Pablo Dobarro Date: Fri, 12 Mar 2021 21:35:56 +0100 Subject: Sculpt: Mask Init operator This operator initializes mask values for the entire mesh. It supports different modes for initializing those values, and more will be added in the future. The initial version supports generating a random mask per vertex, Face Sets or loose parts. These masks are useful for introducing variations in the model using the filters (both shapes and colors). Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10679 --- release/scripts/startup/bl_ui/space_view3d.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'release/scripts/startup/bl_ui') diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 19bf0662885..e393ddf16d6 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -3121,6 +3121,11 @@ class VIEW3D_MT_mask(Menu): props = layout.operator("sculpt.dirty_mask", text='Dirty Mask') + layout.separator() + + layout.menu("VIEW3D_MT_random_mask", text="Random Mask") + + class VIEW3D_MT_face_sets(Menu): bl_label = "Face Sets" @@ -3222,6 +3227,21 @@ class VIEW3D_MT_face_sets_init(Menu): op.mode = 'FACE_MAPS' +class VIEW3D_MT_random_mask(Menu): + bl_label = "Random Mask" + + def draw(self, _context): + layout = self.layout + + op = layout.operator("sculpt.mask_init", text='Per Vertex') + op.mode = 'RANDOM_PER_VERTEX' + + op = layout.operator("sculpt.mask_init", text='Per Face Set') + op.mode = 'RANDOM_PER_FACE_SET' + + op = layout.operator("sculpt.mask_init", text='Per Loose Part') + op.mode = 'RANDOM_PER_LOOSE_PART' + class VIEW3D_MT_particle(Menu): bl_label = "Particle" @@ -7563,6 +7583,7 @@ classes = ( VIEW3D_MT_mask, VIEW3D_MT_face_sets, VIEW3D_MT_face_sets_init, + VIEW3D_MT_random_mask, VIEW3D_MT_particle, VIEW3D_MT_particle_context_menu, VIEW3D_MT_particle_showhide, -- cgit v1.2.3