public static Vector2 GetCenterPosition(RectTransform rect) { var position = rect.transform.position; // 真ん中Pivotじゃなければ真ん中を計算する if (rect.pivot != new Vector2(0.5f, 0.5f)) { var scaleX = rect.transform.lossyScale.x; var scaleY = rect.transform.lossyScale.y; var x = rect.rect.width / 2f * scaleX; var y = rect.rect.height / 2f * scaleY; position.x += Mathf.Lerp(x, -x, rect.pivot.x); position.y += Mathf.Lerp(y, -y, rect.pivot.y); } return position; }