summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-10-27 21:40:46 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-10-27 21:40:46 +0200
commitf497156e0b37fc4c33ce11c285a8b318b319f7cc (patch)
treefd94c36866e5b8c0e5fd50589b87c21c4a50a59e
parentb1ae184348b9de893d98dcd8e671d9df6ee599db (diff)
parentaa3568b8dd0146cf35bd266283f892ff67f1c0d3 (diff)
downloadredot-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.cpp4
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);