From 062c5ab225167467594d216c2ff2ae595ff252e2 Mon Sep 17 00:00:00 2001 From: Pratik Borhade Date: Mon, 14 Apr 2025 10:20:49 +0200 Subject: [PATCH] Fix #137385: Grease Pencil: Thickness modifier doesn't work with vgroup filter Use `get_influence_vertex_weights` for thickness modifier. This returns array of values 0 when group is empty (see `lookup_or_default`). Function also controls the invert state for vertex group. Pull Request: https://projects.blender.org/blender/blender/pulls/137455 --- .../blender/modifiers/intern/MOD_grease_pencil_thickness.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc b/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc index ec308796217..f48a2e1614b 100644 --- a/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc +++ b/source/blender/modifiers/intern/MOD_grease_pencil_thickness.cc @@ -104,8 +104,8 @@ static void deform_drawing(const ModifierData &md, MutableSpan radii = drawing.radii_for_write(); const OffsetIndices points_by_curve = curves.points_by_curve(); bke::MutableAttributeAccessor attributes = curves.attributes_for_write(); - const VArray vgroup_weights = *attributes.lookup_or_default( - mmd.influence.vertex_group_name, bke::AttrDomain::Point, 1.0f); + const VArray vgroup_weights = modifier::greasepencil::get_influence_vertex_weights( + curves, mmd.influence); const bool is_normalized = (mmd.flag & MOD_GREASE_PENCIL_THICK_NORMALIZE) != 0; const bool is_inverted = ((mmd.flag & MOD_GREASE_PENCIL_THICK_WEIGHT_FACTOR) == 0) && ((mmd.influence.flag & GREASE_PENCIL_INFLUENCE_INVERT_VERTEX_GROUP) !=