ну, вам понадобится положение этого другого объекта, чтобы проверить расстояние. Это можно сделать, используя Vector3.Distance
.
Сначала, однако вам нужен Transform
другого объекта. Вы можете сделать это, сделав Raycast, в этом случае я использую Raycast с середины экрана. Затем я назначу Transform
любого объекта, попавшего в переменную hitTransform
. После этого я могу использовать Vector3.Distance
для сравнения 2 позиций и вычисления расстояния.
Transform hitTransform;
private float distance;
void Update()
{
Ray ray = cam.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0));
RaycastHit hit
if (Physics.Raycast(ray, out hit))
{
hitTransform = hit.transform;
}
distance = Vector3.Distance(hitTransform.position, transform.position);
}
Короче говоря, если вы посмотрите на объект, который находится в середине экрана, расстояние между этим объектоми камера будет находиться в переменной distance
, вы также можете использовать raycast, когда нажимаете или нажимаете кнопку, но для простоты я использовал для этого середину экрана.