Fix bone2d scaling

Co-authored-by: Thiago Lages de Alencar <thiagola92@gmail.com>
This commit is contained in:
Silc Lizard (Tokage) Renew 2024-05-09 03:26:42 +09:00
parent 965bae735e
commit de558123bf

View file

@ -328,9 +328,7 @@ bool Bone2D::_editor_get_bone_shape(Vector<Vector2> *p_shape, Vector<Vector2> *p
rel = (p_other_bone->get_global_position() - get_global_position()); rel = (p_other_bone->get_global_position() - get_global_position());
rel = rel.rotated(-get_global_rotation()); // Undo Bone2D node's rotation so its drawn correctly regardless of the node's rotation rel = rel.rotated(-get_global_rotation()); // Undo Bone2D node's rotation so its drawn correctly regardless of the node's rotation
} else { } else {
real_t angle_to_use = get_rotation() + bone_angle; rel = Vector2(Math::cos(bone_angle), Math::sin(bone_angle)) * length * get_global_scale();
rel = Vector2(cos(angle_to_use), sin(angle_to_use)) * (length * MIN(get_global_scale().x, get_global_scale().y));
rel = rel.rotated(-get_rotation()); // Undo Bone2D node's rotation so its drawn correctly regardless of the node's rotation
} }
Vector2 relt = rel.rotated(Math_PI * 0.5).normalized() * bone_width; Vector2 relt = rel.rotated(Math_PI * 0.5).normalized() * bone_width;