Commit: 521358428da293684f5dfc14020dbea9139abb39 Author: Antonio Vazquez Date: Sat Nov 9 12:28:26 2019 +0100 Branches: greasepencil-object https://developer.blender.org/rB521358428da293684f5dfc14020dbea9139abb39
GPencil: Attenuate translate effect in Transform UV operator The old attenuate value makes the transform too hard. =================================================================== M source/blender/editors/gpencil/gpencil_uv.c =================================================================== diff --git a/source/blender/editors/gpencil/gpencil_uv.c b/source/blender/editors/gpencil/gpencil_uv.c index fb97d6afb48..18a3216d979 100644 --- a/source/blender/editors/gpencil/gpencil_uv.c +++ b/source/blender/editors/gpencil/gpencil_uv.c @@ -60,7 +60,6 @@ typedef struct GpUvData { float initial_length; float pixel_size; /* use when mouse input is interpreted as spatial distance */ bool is_modal; - bool is_shift; /* Arrays of original loc/rot/scale by stroke. */ float (*array_loc)[2]; @@ -160,7 +159,6 @@ static bool gpencil_uv_transform_init(bContext *C, wmOperator *op, const bool is opdata->array_rot = NULL; opdata->array_scale = NULL; opdata->ob_scale = mat4_to_scale(opdata->ob->obmat); - opdata->is_shift = false; opdata->vinit_rotation[0] = 1.0f; opdata->vinit_rotation[1] = 0.0f; @@ -267,9 +265,8 @@ static bool gpencil_uv_transform_calc(bContext *C, wmOperator *op) float uv_rotation = (opdata->is_modal) ? angle_signed_v2v2(opdata->vinit_rotation, vr) : RNA_float_get(op->ptr, "rotation"); - if (opdata->is_shift) { - uv_rotation *= SMOOTH_FACTOR; - } + uv_rotation *= SMOOTH_FACTOR; + if (opdata->is_modal) { RNA_float_set(op->ptr, "rotation", uv_rotation); } @@ -281,9 +278,9 @@ static bool gpencil_uv_transform_calc(bContext *C, wmOperator *op) float mdiff[2]; mdiff[0] = opdata->mcenter[0] - opdata->mouse[0]; mdiff[1] = opdata->mcenter[1] - opdata->mouse[1]; - if (opdata->is_shift) { - mul_v2_fl(mdiff, SMOOTH_FACTOR); - } + + /* Apply a big amount of smooth always for translate to get smooth result. */ + mul_v2_fl(mdiff, 0.006f); /* Apply angle in translation. */ mdiff[0] *= cos(uv_rotation); @@ -332,9 +329,8 @@ static bool gpencil_uv_transform_calc(bContext *C, wmOperator *op) ((len_v2(mdiff) - opdata->initial_length) * opdata->pixel_size) / opdata->ob_scale : RNA_float_get(op->ptr, "scale"); - if (opdata->is_shift) { - scale *= SMOOTH_FACTOR; - } + scale *= SMOOTH_FACTOR; + if (opdata->is_modal) { RNA_float_set(op->ptr, "scale", scale); } @@ -411,7 +407,6 @@ static int gpencil_uv_transform_invoke(bContext *C, wmOperator *op, const wmEven /* initialize mouse values */ opdata->mouse[0] = event->mval[0]; opdata->mouse[1] = event->mval[1]; - opdata->is_shift = event->shift; copy_v3_v3(center_3d, opdata->ob->loc); mlen[0] = opdata->mcenter[0] - event->mval[0]; @@ -447,7 +442,6 @@ static int gpencil_uv_transform_modal(bContext *C, wmOperator *op, const wmEvent case MOUSEMOVE: { opdata->mouse[0] = event->mval[0]; opdata->mouse[1] = event->mval[1]; - opdata->is_shift = event->shift; if (gpencil_uv_transform_calc(C, op)) { gpencil_uv_transform_update_header(op, C); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs