Fix T38407: Bone roll calculation flips local axes at wrong rotation angle
Just remove that rotation special case for now, at least fixes the glitch along Z axis when rotating around Y axis in report. Anyway, there is no reason for such special handling, we do not have real rotation in editbone...
This commit is contained in:
@@ -812,17 +812,12 @@ static void recalcData_objects(TransInfo *t)
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
copy_v3_v3(up_axis, td->axismtx[2]);
|
copy_v3_v3(up_axis, td->axismtx[2]);
|
||||||
|
|
||||||
if (t->mode != TFM_ROTATION) {
|
sub_v3_v3v3(vec, ebo->tail, ebo->head);
|
||||||
sub_v3_v3v3(vec, ebo->tail, ebo->head);
|
normalize_v3(vec);
|
||||||
normalize_v3(vec);
|
rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec);
|
||||||
rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec);
|
mul_qt_v3(qrot, up_axis);
|
||||||
mul_qt_v3(qrot, up_axis);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
mul_m3_v3(t->mat, up_axis);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* roll has a tendency to flip in certain orientations - [#34283], [#33974] */
|
/* roll has a tendency to flip in certain orientations - [#34283], [#33974] */
|
||||||
roll = ED_rollBoneToVector(ebo, up_axis, false);
|
roll = ED_rollBoneToVector(ebo, up_axis, false);
|
||||||
ebo->roll = angle_compat_rad(roll, td->ival);
|
ebo->roll = angle_compat_rad(roll, td->ival);
|
||||||
|
|||||||
Reference in New Issue
Block a user