1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-17 14:11:06 +00:00

Fix 2D bone weight editor not accounting for offset

Skeleton was shown in wrong place in Polygon2D UV editor's bone painting mode.
This commit is contained in:
aXu-AP
2023-10-27 20:34:25 +03:00
parent b662d232a2
commit aa3568b8dd

View File

@@ -1170,7 +1170,7 @@ void Polygon2DEditor::_uv_draw() {
found_child = true; 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(); Transform2D endpoint_xform = bone_xform * n->get_transform();
Color color = current ? Color(1, 1, 1) : Color(0.5, 0.5, 0.5); 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) { if (!found_child) {
//draw normally //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)); 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); Color color = current ? Color(1, 1, 1) : Color(0.5, 0.5, 0.5);