FindGameObjectsWithTag находит много объектов - PullRequest
0 голосов
/ 04 июля 2018

У меня есть некоторый GameObjects DustStorm с ParticleSystem на нем.

Я хочу сохранить все ParticleSystems в Array, поэтому я использую код ниже:

GameObject[] dustStormGameObjects;
ParticleSystem[] dustStorms;

dustStormGameObjects = GameObject.FindGameObjectsWithTag("FxDustStorm");
Debug.Log(dustStormGameObjects.Length.ToString());
dustStorms = new ParticleSystem[dustStormGameObjects.Length];
for (var i = 0; i < dustStormGameObjects.Length; i++)
{
    Debug.Log(dustStormGameObjects[i].name.ToString());
    dustStorms[i] = dustStormGameObjects[i].GetComponent<ParticleSystem>();
    Debug.Log(dustStormGameObjects[i].name.ToString());
}

У меня есть несколько Debug.Logs (которые вы можете увидеть в коде), чтобы получить информацию о длине Array и именах GameObjects в Array.

Моя проблема: Когда у меня есть, например, 5 DustStorms на сцене, первый Debug.Log возвращает 6.

Второй Debug.Log (который должен получить имена) всегда показывает мне один раз null. Остальные "DustStorm", поэтому они правильные.

Единственные объекты, которые у меня есть на сцене, которые имеют тег "FxDustStorm", - это DustStorms.

Редактировать: вот скриншот с консоли:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...