diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-11-11 13:14:10 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-11-11 13:33:09 +0300 |
commit | b7e2408ea4d9cf4559a63d2933478f5a7fd7450c (patch) | |
tree | 5f5e089237ee0afcccf9d15b8cd598edd950d553 /source/blender/editors/transform/transform_convert_armature.c | |
parent | bb64155c6372577342f80234fece2615c36d347f (diff) |
Fix T92867: Gimbal rotation broken when used for multiple objects
Support gimbal orientation for objects & bones.
Diffstat (limited to 'source/blender/editors/transform/transform_convert_armature.c')
-rw-r--r-- | source/blender/editors/transform/transform_convert_armature.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform_convert_armature.c b/source/blender/editors/transform/transform_convert_armature.c index 1bbbbc6294e..88790e9645c 100644 --- a/source/blender/editors/transform/transform_convert_armature.c +++ b/source/blender/editors/transform/transform_convert_armature.c @@ -662,6 +662,12 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr mul_m3_m3m3(td->axismtx, omat, pmat); normalize_m3(td->axismtx); + if (t->orient_type_mask & (1 << V3D_ORIENT_GIMBAL)) { + if (!gimbal_axis_pose(ob, pchan, td->ext->axismtx_gimbal)) { + copy_m3_m3(td->ext->axismtx_gimbal, td->axismtx); + } + } + if (t->mode == TFM_BONE_ENVELOPE_DIST) { td->loc = NULL; td->val = &bone->dist; |