From d75aeb03e504390dcaa99fa7b5237f8d481ac361 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Mon, 12 Jun 2023 09:59:14 +0200 Subject: [PATCH] Fix #108707: Parent space Transform ignores armature objects rotation Seems like an oversight in 5c4b0c98d37d. Child bones would calculate their orientation from the parent bone local alone, now multiply take the armature objects world transform into account as well. Pull Request: https://projects.blender.org/blender/blender/pulls/108755 --- source/blender/editors/transform/transform_orientations.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/blender/editors/transform/transform_orientations.c b/source/blender/editors/transform/transform_orientations.c index 22df1c41593..8ad4c6293dd 100644 --- a/source/blender/editors/transform/transform_orientations.c +++ b/source/blender/editors/transform/transform_orientations.c @@ -588,6 +588,9 @@ static void handle_armature_parent_orientation(Object *ob, float r_mat[3][3]) if (active_pchan && active_pchan->parent) { /* For child, show parent local regardless if "local location" is set for parent bone. */ transform_orientations_create_from_axis(r_mat, UNPACK3(active_pchan->parent->pose_mat)); + float ob_orientations_mat[3][3]; + transform_orientations_create_from_axis(ob_orientations_mat, UNPACK3(ob->object_to_world)); + mul_m3_m3_pre(r_mat, ob_orientations_mat); return; }