From b4613e0bca9ba3999f1198f84257a763167c6a15 Mon Sep 17 00:00:00 2001 From: Antonio Vazquez Date: Sat, 23 May 2020 15:25:54 +0200 Subject: GPencil: Fix unreported Noise modifier does not work in axis aligned strokes If the stroke is totally straight, the normal was not calculated properly. --- source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/blender/gpencil_modifiers') diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c index 5ed08e39197..04a17336a90 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c @@ -170,9 +170,12 @@ static void deformStroke(GpencilModifierData *md, float *noise_table_thickness = (mmd->factor_thickness > 0.0f) ? noise_table(len, seed) : NULL; float *noise_table_uvs = (mmd->factor_uvs > 0.0f) ? noise_table(len, seed + 4) : NULL; - /* calculate stroke normal*/ + /* Calculate stroke normal. */ if (gps->totpoints > 2) { BKE_gpencil_stroke_normal(gps, normal); + if (is_zero_v3(normal)) { + copy_v3_fl(normal, 1.0f); + } } else { copy_v3_fl(normal, 1.0f); -- cgit v1.2.3