diff options
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index af4beff4bc9..8e7e5c4c1ce 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -812,17 +812,12 @@ static void recalcData_objects(TransInfo *t) } else { copy_v3_v3(up_axis, td->axismtx[2]); - - if (t->mode != TFM_ROTATION) { - sub_v3_v3v3(vec, ebo->tail, ebo->head); - normalize_v3(vec); - rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec); - mul_qt_v3(qrot, up_axis); - } - else { - mul_m3_v3(t->mat, up_axis); - } - + + sub_v3_v3v3(vec, ebo->tail, ebo->head); + normalize_v3(vec); + rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec); + mul_qt_v3(qrot, up_axis); + /* roll has a tendency to flip in certain orientations - [#34283], [#33974] */ roll = ED_rollBoneToVector(ebo, up_axis, false); ebo->roll = angle_compat_rad(roll, td->ival); |