Вы смотрели на GameObject API или Руководство ?
Есть Find , FindWithTag , FindGameObjectsWithTag
или также такие методы, как GetComponentInChildren , FindObjectOfType , FindObjectsOfType
(те, которые вы можете использоватьчтобы найти компонент определенного типа и, следовательно, в соответствии с gameObject
вы можете установить (не активировать)
, но так как вы запросили активацию нескольких объектов по тегу:
var targetObjects = GameObject.FindGameObjectsWithTag("YourTag");
foreach(var obj in targetObjects)
{
obj.SetActive(true);
}
обратите внимание, однако, что это намного дороже, чем с рекомендациями инспектора.Поэтому в общем старайтесь избегать использования этих FindXY
методов, если это возможно.
И да, как remy_rm правильно указал в комментариях, вам определенно не следует использовать их в циклах обновления или других методах, которые регулярно вызываются.Вы всегда должны вызывать их, например, в Awake
, Start
и т. Д. И хранить ссылки для дальнейшего использования
Обновление
Если я правильно понимаю ваш комментарий, выКроме того, есть некоторые дочерние элементы в тех помеченных объектах, которые вы также хотите активировать:
var targetObjects = GameObject.FindGameObjectsWithTag("YourTag");
foreach(var obj in targetObjects)
{
obj.SetActive(true);
// also activate all children
foreach(Transform child in obj.transform)
{
child.gameObject.SetActive(true);
}
}