Может кто-то объяснить, можно ли делать так:
void Update() {
GameObject1.SetActive(IsActive);
GameObject2.SetActive(IsActive);
GameObject3.SetActive(IsActive);
}
Скрипт весит на отдельном объекте, который никогда не скрывается.
В зависимости от IsActive = true | false
элемент будет скрываться или показываться.
Или придется городить всякие флаги и условия?
Вида:
if(!IsActive1) {
IsActive1 = true;
GameObject1.SetActive(IsActive);
}
Не будет ли постоянный вызов SetActive()
для нескольких объектов в методе Update()
пагубно сказываться на производительности?
MonoBehaviour методы вызываются только у скриптов, которые висят на "активных" (включенных GameObject). То есть когда вы сделаете объекту GameObject.SetActive(false)
, то метод Update()
у него не будет вызываться. Об этом можно почитать в документации по GameObject.SetActive().
Кроме того, если в иерархии объектов ваш GameObject не будет верхним (то есть у него будет какой-то родительский объект), то если вы сделаете родительский объект SetActive(false)
, то и все дочерние элементы также будут неактивными. Соответственно и Update()
у дочерних классов тоже не будет вызываться.
Сам по себе вызов SetActive()
может быть дешевой операцией, если вы вызываете его для небольшого количества объектов (например для 3 как в вашей ситуации) и эти объекты просты с точки зрения иерархии (не содержат большой вложенности). Если же вы вызываете этот метод для большого числа и эти объекты сложные в плане вложенности, то это может оказать существенное влияние на производительность.
В целом, все очень сильно зависит от ситуации, так что пробуйте и профилируйте.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
не смог найти тему с ответом на мой вопросЕсть база данных на локальном сервере MySql
Никак не могу решить проблему с конверсиейВ БД значение столбцов : date и time, использую DateTimePicker в WinForms и создаю новые переменные в которые записываю...
Есть файлы расширения cs, которые генерируются утилитойМне необходимо программно проверять на корректность сгенерируемые файлы программно
В общем, есть много Word'ов, которые я обрабатываю через interop и пытаюсь вытянуть картинки, что бы их сохранить отдельно