using UnityEngine; using UnityEngine.UI; public class LineBetweenObjects : MonoBehaviour { [SerializeField] RectTransform start; [SerializeField] RectTransform end; [SerializeField] Image lineImg; private void Start() { lineImg.rectTransform.pivot = new Vector2(0.5f, 0.5f); lineImg.rectTransform.anchorMin = new Vector2(0.5f, 0.5f); lineImg.rectTransform.anchorMax = new Vector2(0.5f, 0.5f); } private void LateUpdate() { Vector2 lineCenterPos = Vector2.Lerp(start.anchoredPosition, end.anchoredPosition, 0.5f); float lineLength = Vector2.Distance(start.anchoredPosition, end.anchoredPosition); Vector2 diff = end.anchoredPosition - start.anchoredPosition; float angle = Mathf.Atan2(diff.y, diff.x) * Mathf.Rad2Deg; lineImg.rectTransform.sizeDelta = new Vector2(lineLength, lineImg.rectTransform.sizeDelta.y); lineImg.rectTransform.anchoredPosition = lineCenterPos; lineImg.rectTransform.localEulerAngles = new Vector3(0, 0, angle); } }