diff options
author | Antonioya <blendergit@gmail.com> | 2018-08-16 12:24:28 +0300 |
---|---|---|
committer | Antonioya <blendergit@gmail.com> | 2018-08-16 12:24:45 +0300 |
commit | 59670e999a436a05858495ef448f34447584856a (patch) | |
tree | f2922200651f094ac11cd2109e8812e326bcc2da /release | |
parent | 02e9dba07be7d912eefb30362512a93c91fe6296 (diff) |
GP: Add new presets for materials
This allow create prests without import materials and include a requested predefined settings for Stroke only, Fill only and Stroke and Fill.
Diffstat (limited to 'release')
5 files changed, 146 insertions, 0 deletions
diff --git a/release/scripts/presets/gpencil_material/fill_only.py b/release/scripts/presets/gpencil_material/fill_only.py new file mode 100644 index 00000000000..00cf8663f41 --- /dev/null +++ b/release/scripts/presets/gpencil_material/fill_only.py @@ -0,0 +1,30 @@ +import bpy +material = bpy.context.object.active_material +gpcolor = material.grease_pencil + +gpcolor.mode = 'LINE' +gpcolor.stroke_style = 'SOLID' +gpcolor.color = (0.0, 0.0, 0.0, 0.0) +gpcolor.stroke_image = None +gpcolor.pixel_size = 100.0 +gpcolor.use_stroke_pattern = False +gpcolor.fill_style = 'SOLID' +gpcolor.fill_color = (0.5, 0.5, 0.5, 1.0) +gpcolor.fill_image = None +gpcolor.gradient_type = 'LINEAR' +gpcolor.mix_color = (1.0, 1.0, 1.0, 0.2) +gpcolor.mix_factor = 0.0 +gpcolor.flip = False +gpcolor.pattern_shift = (0.0, 0.0) +gpcolor.pattern_scale = (1.0, 1.0) +gpcolor.pattern_radius = 0.5 +gpcolor.pattern_angle = 0.0 +gpcolor.pattern_gridsize = 0.1 +gpcolor.use_fill_pattern = False +gpcolor.texture_offset = (0.0, 0.0) +gpcolor.texture_scale = (1.0, 1.0) +gpcolor.texture_angle = 0.0 +gpcolor.texture_opacity = 1.0 +gpcolor.texture_clamp = False +gpcolor.texture_mix = False +gpcolor.mix_factor = 0.0 diff --git a/release/scripts/presets/gpencil_material/stroke_and_fill.py b/release/scripts/presets/gpencil_material/stroke_and_fill.py new file mode 100644 index 00000000000..8c3aca4f829 --- /dev/null +++ b/release/scripts/presets/gpencil_material/stroke_and_fill.py @@ -0,0 +1,30 @@ +import bpy +material = bpy.context.object.active_material +gpcolor = material.grease_pencil + +gpcolor.mode = 'LINE' +gpcolor.stroke_style = 'SOLID' +gpcolor.color = (0.0, 0.0, 0.0, 1.0) +gpcolor.stroke_image = None +gpcolor.pixel_size = 100.0 +gpcolor.use_stroke_pattern = False +gpcolor.fill_style = 'SOLID' +gpcolor.fill_color = (0.5, 0.5, 0.5, 1.0) +gpcolor.fill_image = None +gpcolor.gradient_type = 'LINEAR' +gpcolor.mix_color = (1.0, 1.0, 1.0, 0.2) +gpcolor.mix_factor = 0.0 +gpcolor.flip = False +gpcolor.pattern_shift = (0.0, 0.0) +gpcolor.pattern_scale = (1.0, 1.0) +gpcolor.pattern_radius = 0.5 +gpcolor.pattern_angle = 0.0 +gpcolor.pattern_gridsize = 0.1 +gpcolor.use_fill_pattern = False +gpcolor.texture_offset = (0.0, 0.0) +gpcolor.texture_scale = (1.0, 1.0) +gpcolor.texture_angle = 0.0 +gpcolor.texture_opacity = 1.0 +gpcolor.texture_clamp = False +gpcolor.texture_mix = False +gpcolor.mix_factor = 0.0 diff --git a/release/scripts/presets/gpencil_material/stroke_only.py b/release/scripts/presets/gpencil_material/stroke_only.py new file mode 100644 index 00000000000..04262593275 --- /dev/null +++ b/release/scripts/presets/gpencil_material/stroke_only.py @@ -0,0 +1,30 @@ +import bpy +material = bpy.context.object.active_material +gpcolor = material.grease_pencil + +gpcolor.mode = 'LINE' +gpcolor.stroke_style = 'SOLID' +gpcolor.color = (0.0, 0.0, 0.0, 1.0) +gpcolor.stroke_image = None +gpcolor.pixel_size = 100.0 +gpcolor.use_stroke_pattern = False +gpcolor.fill_style = 'SOLID' +gpcolor.fill_color = (0.5, 0.5, 0.5, 0.0) +gpcolor.fill_image = None +gpcolor.gradient_type = 'LINEAR' +gpcolor.mix_color = (1.0, 1.0, 1.0, 0.2) +gpcolor.mix_factor = 0.0 +gpcolor.flip = False +gpcolor.pattern_shift = (0.0, 0.0) +gpcolor.pattern_scale = (1.0, 1.0) +gpcolor.pattern_radius = 0.5 +gpcolor.pattern_angle = 0.0 +gpcolor.pattern_gridsize = 0.1 +gpcolor.use_fill_pattern = False +gpcolor.texture_offset = (0.0, 0.0) +gpcolor.texture_scale = (1.0, 1.0) +gpcolor.texture_angle = 0.0 +gpcolor.texture_opacity = 1.0 +gpcolor.texture_clamp = False +gpcolor.texture_mix = False +gpcolor.mix_factor = 0.0 diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py index 0fe45f8fee3..59697db0ae3 100644 --- a/release/scripts/startup/bl_operators/presets.py +++ b/release/scripts/startup/bl_operators/presets.py @@ -706,6 +706,49 @@ class AddPresetGpencilBrush(AddPresetBase, Operator): preset_subdir = "gpencil_brush" +class AddPresetGpencilMaterial(AddPresetBase, Operator): + """Add or remove grease pencil material preset""" + bl_idname = "scene.gpencil_material_preset_add" + bl_label = "Add Grease Pencil Material Preset" + preset_menu = "MATERIAL_PT_gpencil_material_presets" + + preset_defines = [ + "material = bpy.context.object.active_material", + "gpcolor = material.grease_pencil" + ] + + preset_values = [ + "gpcolor.mode", + "gpcolor.stroke_style", + "gpcolor.color", + "gpcolor.stroke_image", + "gpcolor.pixel_size", + "gpcolor.use_stroke_pattern", + "gpcolor.fill_style", + "gpcolor.fill_color", + "gpcolor.fill_image", + "gpcolor.gradient_type", + "gpcolor.mix_color", + "gpcolor.mix_factor", + "gpcolor.flip", + "gpcolor.pattern_shift", + "gpcolor.pattern_scale", + "gpcolor.pattern_radius", + "gpcolor.pattern_angle", + "gpcolor.pattern_gridsize", + "gpcolor.use_fill_pattern", + "gpcolor.texture_offset", + "gpcolor.texture_scale", + "gpcolor.texture_angle", + "gpcolor.texture_opacity", + "gpcolor.texture_clamp", + "gpcolor.texture_mix", + "gpcolor.mix_factor", + ] + + preset_subdir = "gpencil_material" + + classes = ( AddPresetCamera, AddPresetCloth, @@ -723,6 +766,7 @@ classes = ( AddPresetTrackingTrackColor, AddPresetUnitsLength, AddPresetGpencilBrush, + AddPresetGpencilMaterial, ExecutePreset, WM_MT_operator_presets, ) diff --git a/release/scripts/startup/bl_ui/properties_material_gpencil.py b/release/scripts/startup/bl_ui/properties_material_gpencil.py index d83639a361c..cabd6e5677a 100644 --- a/release/scripts/startup/bl_ui/properties_material_gpencil.py +++ b/release/scripts/startup/bl_ui/properties_material_gpencil.py @@ -20,6 +20,7 @@ import bpy from bpy.types import Menu, Panel, UIList from rna_prop_ui import PropertyPanel +from bl_operators.presets import PresetMenu class GPENCIL_MT_color_specials(Menu): @@ -165,6 +166,9 @@ class MATERIAL_PT_gpencil_surface(GPMaterialButtonsPanel, Panel): return ob and ob.type == 'GPENCIL' + def draw_header_preset(self, context): + MATERIAL_PT_gpencil_material_presets.draw_panel_header(self.layout) + @staticmethod def draw(self, context): layout = self.layout @@ -302,12 +306,20 @@ class MATERIAL_PT_gpencil_options(GPMaterialButtonsPanel, Panel): gpcolor = ma.grease_pencil layout.prop(gpcolor, "pass_index") +class MATERIAL_PT_gpencil_material_presets(PresetMenu): + """Material settings""" + bl_label = "Material Presets" + preset_subdir = "gpencil_material" + preset_operator = "script.execute_preset" + preset_add_operator = "scene.gpencil_material_preset_add" + classes = ( GPENCIL_UL_matslots, GPENCIL_MT_color_specials, MATERIAL_PT_gpencil_slots, MATERIAL_PT_gpencil_preview, + MATERIAL_PT_gpencil_material_presets, MATERIAL_PT_gpencil_surface, MATERIAL_PT_gpencil_strokecolor, MATERIAL_PT_gpencil_fillcolor, |