Приветствую Вас, дорогие разработчики. В данной статье мы научимся искать игровые объекту по его имени, и по тегу. Ведь при разработке игр нам довольно часто нужно находить игровые объекты, для дальнейшего выполнения каких-либо действий. Приступим сразу к делу.
Поиск объекта по имени
Для того, чтобы найти объект по его имени, необходимо воспользоваться методом GameObject.Find. Посмотрим реализацию данного метода на примере:
public GameObject obj;
void Awake()
{
obj = GameObject.Find("NameGameObject");
}
Обратите внимание, что в первой строке мы создали переменную obj, чтобы в ней хранить ссылку на игровой объект. А в пятой строке, воспользовавшись методом GameObject.Find, получили сам объект по его имени.
Поиск объекта по тегу
Теперь давайте получим ссылку на наш объект по тегу. Для этого воспользуемся методом GameObject.FindGameObjectWithTag:
public GameObject obj;
void Awake()
{
obj = GameObject.FindGameObjectWithTag("TagName");
}
Как видите, смысл такой же, как и в предыдущем примере. Всё очень просто. Только не забудьте указать тег для Вашего объекта, перед запуском данного скрипта. Иначе объект найден не будет.
Важно: Если в Вашей сцене находится несколько объектов с одинаковыми тегами, то метод GameObject.FindGameObjectWithTag найдёт только самый первый объект. Поэтому, существует ещё один способ, который позволит найти все объекты по указанному тегу.
Поиск массива объектов по тегу
Чтобы найти массив объектов по тегу, воспользуемся методом GameObject.FindGameObjectsWithTag. Вы наверное обратили внимание, что название данного меотда почти 1 в 1 схоже с предыдущим методом, за исключением добавленной быквы s в середине названия.
Рассмотрим пример использования метода GameObject.FindGameObjectsWithTag:
public GameObject[] obj;
void Awake()
{
obj = GameObject.FindGameObjectsWithTag("TagName");
}
Обратите внимание, что при использовании метода GameObject.FindGameObjectsWithTag, в первой строке мы должны оказать, что нам нужен массив объектов, при помощи квадратных скобок [].
Заметил сейчас такую вещь, что при клонировании(копировании) объектов с сцене к имени добавляется значение в скобках.
Cube (1)
вот это значение соответствует положению объекта в массиве т.е. кубе уже второй в массиве.
Не судите строго я учусь))))))