Unity2D, объект находит сам себя.

Программирование на Юнити.

Unity2D, объект находит сам себя.

Сообщение BigKatlet 28 июл 2022, 13:51

Здрасте всем.
У меня есть функция, которая возвращает ближайший объект по тегу. Тег enemy присвоен ВСЕМ врагам. Функция как раз накинута на врага, то есть враг должен искать других врагов, а находит сам себя. Как исправить?

Функция:
[syntax=]GameObject FindClosestEnemy()
{

enemies = GameObject.FindGameObjectsWithTag("enemy");
float distance = Mathf.Infinity;
Vector3 position = transform.position;
foreach (GameObject go in enemies)
{
Vector3 diff = go.transform.position - position;
float curDistance = diff.sqrMagnitude;
if (curDistance < distance)
{
nearestEnemy = go;
distance = curDistance;
}
}
return nearestEnemy;
}[/syntax]
BigKatlet
UNец
 
Сообщения: 2
Зарегистрирован: 28 июл 2022, 13:48

Re: Unity2D, объект находит сам себя.

Сообщение Jarico 28 июл 2022, 18:26

проверку сделай, если найденный объект является этим же объектом откуда и вызывается поиск то продолжай искать
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Unity2D, объект находит сам себя.

Сообщение BigKatlet 28 июл 2022, 19:05

Jarico писал(а):проверку сделай, если найденный объект является этим же объектом откуда и вызывается поиск то продолжай искать
спасибо, кэп! Только как? Решил с помощью: enemies = enemies.Where(e => e != this.gameObject).ToArray();
BigKatlet
UNец
 
Сообщения: 2
Зарегистрирован: 28 июл 2022, 13:48

Re: Unity2D, объект находит сам себя.

Сообщение MrDmitry 04 авг 2022, 06:59

Мне кажется совершенно не правильным выгружать в массив список всех объектов для поиска всего одного из них. Для таких целей обычно пускают лучи, уже по ним выпускают ближайший. А вообще реализация вашей задачи будет зависит от того, зачем вообще вам это нужно?
MrDmitry
UNITрон
 
Сообщения: 223
Зарегистрирован: 05 авг 2017, 17:21


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8