You've already forked godot
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:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user