diff options
author | YimingWu <xp8110@outlook.com> | 2022-03-29 17:46:30 +0300 |
---|---|---|
committer | YimingWu <xp8110@outlook.com> | 2022-03-29 17:46:56 +0300 |
commit | c4e4924096d1dcfd971aafbbf82d848a774b57db (patch) | |
tree | db2deb2dc65e25ae31076abb0de58192195f22a0 /source/blender/makesrna | |
parent | 0e0977f3e68b2ac1fd021b5dc6ca10e5b9a25da1 (diff) |
GPencil: Fading for build modifier.
Adds fading support for build modifier so it's not a hard cut off
Reviewed By: Antonio Vazquez (antoniov), Matias Mendiola (mendio)
Differential Revision: https://developer.blender.org/D14309
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_gpencil_modifier.c | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/source/blender/makesrna/intern/rna_gpencil_modifier.c b/source/blender/makesrna/intern/rna_gpencil_modifier.c index 81103f4fe49..f6e44ae7cd8 100644 --- a/source/blender/makesrna/intern/rna_gpencil_modifier.c +++ b/source/blender/makesrna/intern/rna_gpencil_modifier.c @@ -382,6 +382,7 @@ RNA_GP_MOD_VGROUP_NAME_SET(WeightAngle, vgname); RNA_GP_MOD_VGROUP_NAME_SET(Lineart, vgname); RNA_GP_MOD_VGROUP_NAME_SET(Shrinkwrap, vgname); RNA_GP_MOD_VGROUP_NAME_SET(Envelope, vgname); +RNA_GP_MOD_VGROUP_NAME_SET(Build, target_vgname); # undef RNA_GP_MOD_VGROUP_NAME_SET @@ -416,6 +417,7 @@ RNA_GP_MOD_OBJECT_SET(Mirror, object, OB_EMPTY); RNA_GP_MOD_OBJECT_SET(WeightProx, object, OB_EMPTY); RNA_GP_MOD_OBJECT_SET(Shrinkwrap, target, OB_MESH); RNA_GP_MOD_OBJECT_SET(Shrinkwrap, aux_target, OB_MESH); +RNA_GP_MOD_OBJECT_SET(Build, object, OB_EMPTY); # undef RNA_GP_MOD_OBJECT_SET @@ -2133,10 +2135,10 @@ static void rna_def_modifier_gpencilbuild(BlenderRNA *brna) "Shrink", "Hide points from the end of each stroke to the start " "(e.g. for animating lines being erased)"}, - {GP_BUILD_TRANSITION_FADE, - "FADE", + {GP_BUILD_TRANSITION_VANISH, + "FADE", /* "Fade" is the original id string kept for compatibility purpose. */ 0, - "Fade", + "Vanish", "Hide points in the order they occur in each stroke " "(e.g. for animating ink fading or vanishing after getting drawn)"}, {0, NULL, 0, NULL, NULL}, @@ -2242,6 +2244,44 @@ static void rna_def_modifier_gpencilbuild(BlenderRNA *brna) RNA_def_property_range(prop, MINAFRAMEF, MAXFRAMEF); RNA_def_property_update(prop, 0, "rna_GpencilModifier_update"); + prop = RNA_def_property(srna, "use_fading", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_BUILD_USE_FADING); + RNA_def_property_ui_text( + prop, "Use Fading", "Fade out strokes instead of directly cutting off."); + RNA_def_property_update(prop, 0, "rna_GpencilModifier_update"); + + prop = RNA_def_property(srna, "fade_factor", PROP_FLOAT, PROP_FACTOR); + RNA_def_property_float_sdna(prop, NULL, "fade_fac"); + RNA_def_property_ui_text(prop, "Fade Factor", "Defines how much of the stroke is fading in/out"); + RNA_def_property_range(prop, 0.0f, 1.0f); + RNA_def_property_update(prop, 0, "rna_GpencilModifier_update"); + + prop = RNA_def_property(srna, "target_vertex_group", PROP_STRING, PROP_NONE); + RNA_def_property_string_sdna(prop, NULL, "target_vgname"); + RNA_def_property_ui_text(prop, "Vertex Group", "Output Vertex group"); + RNA_def_property_string_funcs(prop, NULL, NULL, "rna_BuildGpencilModifier_target_vgname_set"); + RNA_def_property_update(prop, 0, "rna_GpencilModifier_update"); + + prop = RNA_def_property(srna, "fade_opacity_strength", PROP_FLOAT, PROP_FACTOR); + RNA_def_property_float_sdna(prop, NULL, "fade_opacity_strength"); + RNA_def_property_ui_text( + prop, "Opacity Strength", "How much strength fading applies on top of stroke opacity"); + RNA_def_property_range(prop, 0.0f, 1.0f); + RNA_def_property_update(prop, 0, "rna_GpencilModifier_update"); + + prop = RNA_def_property(srna, "fade_thickness_strength", PROP_FLOAT, PROP_FACTOR); + RNA_def_property_float_sdna(prop, NULL, "fade_thickness_strength"); + RNA_def_property_ui_text( + prop, "Thickness Strength", "How much strength fading applies on top of stroke thickness"); + RNA_def_property_range(prop, 0.0f, 1.0f); + RNA_def_property_update(prop, 0, "rna_GpencilModifier_update"); + + prop = RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE); + RNA_def_property_ui_text(prop, "Object", "Object used as build starting position"); + RNA_def_property_pointer_funcs(prop, NULL, "rna_BuildGpencilModifier_object_set", NULL, NULL); + RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK); + RNA_def_property_update(prop, 0, "rna_GpencilModifier_dependency_update"); + /* Filters - Layer */ prop = RNA_def_property(srna, "layer", PROP_STRING, PROP_NONE); RNA_def_property_string_sdna(prop, NULL, "layername"); |