В сценарии вы можете использовать Vector3.Distance между vector3, чтобы получить расстояние между двумя точками. Каждый gameObject имеет позицию, которая представлена в Vector3.
Ниже приведен пример сценария, который показывает вам, как он работает. Вам просто нужно перетащить сценарий на игровой объект на вашей сцене и перетащить в инспекторе другой игровой объект на вашей сцене. Сценарий должен запускаться, даже если вы не находитесь в режиме воспроизведения из-за [ExecuteInEditMode]. Таким образом, вы увидите обновление distanceBetweenObjects в реальном времени, фактически не нажимая кнопку play.
using UnityEngine;
[ExecuteInEditMode]
public class DistanceBetweenTwoObjects : MonoBehaviour
{
public GameObject obj;
public float distanceBetweenObjects;
private void Update()
{
distanceBetweenObjects = Vector3.Distance(transform.position, obj.transform.position);
Debug.DrawLine(transform.position, obj.transform.position, Color.green);
}
private void OnDrawGizmos()
{
GUI.color = Color.black;
Handles.Label(transform.position - (transform.position -
obj.transform.position)/2, distanceBetweenObjects.ToString());
}
}
Метод OnDrawGizmos будет рисовать текст между двумя объектами, показывающий значение расстояния, чтобы сделать его более удобным для пользователя.