Как узнать есть ли в определенном радиусе другой объект?
Идея такова, что враги движутся влево, вправо и должны остановиться если впереди в определенном радиусе присутствует другой объект. Если проще говоря они должны строиться в шеренгу, как солдаты. И вот вопрос, как узнать есть ли в определенном радиусе другой объект?
Ответы (1 шт):
Можно пускать Raycast в нужном направлении, чтобы узнать, есть ли что-то на этой линии или нет. Это будет работать только для физических объектов, а большое количество таких операций будет трудозатратным.
Если нужно определять расстояние только среди солдат, то нужно иметь некий класс, который имеет в себе список всех солдат и уже из него получать эвенты, что солдаты сблизились.
Само расстояние между объектами можно получить через их позиции:
Vector3 a = Vector3.back;
Vector3 b = Vector3.down;
var distance = Vector3.Distance(a, b);