Страница 1 из 1

Количество объектов с определённым тегом

СообщениеДобавлено: 16 ноя 2019, 08:31
FateART
Здравствуйте, подскажите, пожалуйста, как посчитать количество включенных объектов на сцене, имеющих определённый тег/имя?

Re: Количество объектов с определённым тегом

СообщениеДобавлено: 16 ноя 2019, 08:37
Jarico
Синтаксис:
Используется csharp
GameObject[] array = UnityEngine.Object.FindObjectsOfType<GameObject>();//это очень медленный процесс!!!! Не стоит вызывать постоянно
int untagged = 0;
for(int i = 0; i < array.Length;i++)
{
        GameObject go = array[i];

        if(go != null && go.tag == "Untagged")
        {
                untagged++;

        }
}
 

Re: Количество объектов с определённым тегом

СообщениеДобавлено: 16 ноя 2019, 11:22
FateART
Jarico писал(а):
Синтаксис:
Используется csharp
GameObject[] array = UnityEngine.Object.FindObjectsOfType<GameObject>();//это очень медленный процесс!!!! Не стоит вызывать постоянно
int untagged = 0;
for(int i = 0; i < array.Length;i++)
{
        GameObject go = array[i];

        if(go != null && go.tag == "Untagged")
        {
                untagged++;

        }
}
 

Спасибо, мэн)

Re: Количество объектов с определённым тегом

СообщениеДобавлено: 16 ноя 2019, 12:16
1max1
Если объекты включены можно считать этим сразу https://docs.unity3d.com/ScriptReferenc ... thTag.html
Если выключены, то не обязательно брать все го через FindObjectsOfType, можно рекурсивно пробежаться по всем рутовым объектам в цене и их деткам и проверить теги, будет быстрее в десятки раз)

Re: Количество объектов с определённым тегом

СообщениеДобавлено: 16 ноя 2019, 13:01
Jarico
1max1 писал(а):будет быстрее в десятки раз


В нативных функциях один хрен идёт перебор элементов сцены и там всё равно есть массив который используется FindGameObjectsWithTag