diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-10-27 21:40:46 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-10-27 21:40:46 +0200 |
commit | f497156e0b37fc4c33ce11c285a8b318b319f7cc (patch) | |
tree | fd94c36866e5b8c0e5fd50589b87c21c4a50a59e | |
parent | b1ae184348b9de893d98dcd8e671d9df6ee599db (diff) | |
parent | aa3568b8dd0146cf35bd266283f892ff67f1c0d3 (diff) | |
download | redot-engine-f497156e0b37fc4c33ce11c285a8b318b319f7cc.tar.gz |
Merge pull request #84070 from aXu-AP/bone-weight-offset-fix
Fix 2D bone weight editor not accounting for offset
-rw-r--r-- | editor/plugins/polygon_2d_editor_plugin.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/editor/plugins/polygon_2d_editor_plugin.cpp b/editor/plugins/polygon_2d_editor_plugin.cpp index 00567587ce..8141d18341 100644 --- a/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/editor/plugins/polygon_2d_editor_plugin.cpp @@ -1170,7 +1170,7 @@ void Polygon2DEditor::_uv_draw() { found_child = true; - Transform2D bone_xform = node->get_global_transform().affine_inverse() * (skeleton->get_global_transform() * bone->get_skeleton_rest()); + Transform2D bone_xform = node->get_global_transform().affine_inverse().translated(-node->get_offset()) * (skeleton->get_global_transform() * bone->get_skeleton_rest()); Transform2D endpoint_xform = bone_xform * n->get_transform(); Color color = current ? Color(1, 1, 1) : Color(0.5, 0.5, 0.5); @@ -1180,7 +1180,7 @@ void Polygon2DEditor::_uv_draw() { if (!found_child) { //draw normally - Transform2D bone_xform = node->get_global_transform().affine_inverse() * (skeleton->get_global_transform() * bone->get_skeleton_rest()); + Transform2D bone_xform = node->get_global_transform().affine_inverse().translated(-node->get_offset()) * (skeleton->get_global_transform() * bone->get_skeleton_rest()); Transform2D endpoint_xform = bone_xform * Transform2D(0, Vector2(bone->get_length(), 0)); Color color = current ? Color(1, 1, 1) : Color(0.5, 0.5, 0.5); |