using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TargetDistanceLabel : MonoBehaviour { public RectTransform canvasRTF; public Camera mainCamera; public Transform followTarget; TargetBody targetBody; Vector3 centerPoint = new Vector3(0.5f, 0.5f, 0); Text textComp; void Start() { targetBody = GameObject.Find("GameArea/010").GetComponentInChildren(); textComp = this.GetComponent(); } void LateUpdate() { float angle = Vector3.Angle(mainCamera.transform.forward, followTarget.position - mainCamera.transform.position); if (angle > 90) { textComp.enabled = false; return; } else { textComp.enabled = true; } Vector3 v3 = mainCamera.WorldToViewportPoint(followTarget.position) - centerPoint; v3.x *= canvasRTF.rect.width; v3.y *= canvasRTF.rect.height; v3.z = 0; this.transform.localPosition = v3; textComp.text = ((int)Mathf.Round(targetBody.GetDistance())) + "M"; } }