То, что вы хотите, это профилировщик памяти, который есть в Unity. Здесь: http://docs.unity3d.com/Manual/ProfilerMemory.html
Но ваше предположение в основном верно, если игровой объект не виден камере, он не рисуется и использует меньше ресурсов, но все же должен потреблять некоторые. GameObject все еще существует в памяти, включая все текстуры, скрипты моделей и т. Д., Он также потребляет процессорное время с помощью методов Update и FixedUpdate (и других, описанных здесь ).
Но обычно основным замедлением является рисование, небольшое количество процессорного времени используется для определения того, что объект находится за пределами усечения камеры (границы), но рисование не выполняется.
Краткий ответ - да"; все, что готово для использования в вашей игре, занимает память.
Другая вещь, которую нужно учитывать, это стоимость вашей частоты кадров:
5 объектов с 5 отдельными текстурами, нарисованными отдельно, требуют промежуточных изменений состояния. Вы можете сэкономить память, выгружая неиспользуемые текстуры.
При загрузке всех отдельных текстур в одну текстуру атласа объем памяти становится фиксированным, и вы больше не можете выгружать отдельную текстуру. После создания вам нужно только один раз связать атлас, чтобы нарисовать все ваши объекты.
Другой пример - простой буфер вершин и индексов. Если многие из точек часто переключаются между видимыми и нет, то быстрее оставить «устаревшие» точки в буфере вершин и загрузить только новый индексный буфер.
Есть много других случаев, когда увеличение первоначальной стоимости памяти предпочтительнее многих изменений состояния.
Используя в качестве примера боковую прокрутку, если вы можете перемещаться только вправо (карта прокручивается только влево), любой объект, который прокручивается с левой стороны экрана, может быть выгружен навсегда, поскольку вы никогда не будете использовать его снова. Кроме того, содержимое для объектов может быть загружено по требованию непосредственно перед тем, как объект прокручивается в вид справа.
источник
Многие ответы в основном касаются графического аспекта вашего вопроса.
Дело в том, что они будут занимать различные ресурсы, и насколько они дороги по сравнению с рисованием объекта, не зафиксировано. Это не так редко, как некоторые ответы подразумевают, что ваши компоненты выполняют более дорогие операции, чем рисование, но вы можете минимизировать, сколько ресурсов они используют. Также имейте в виду, что GameObject занимает небольшой объем памяти, как и его компоненты. Компоненты также могут выполнять действия, которые занимают значительную часть памяти.
Самый простой способ минимизировать влияние компонентов вне экрана - это система, основанная на обратных вызовах OnBecameVisible и OnBecameInvisible .
Конечно, это очень ограниченная полезность, так как во многих случаях вам нужно, чтобы закадровый объект влиял на игру. Но вы можете расширить схему такого рода для мелкозернистой системы, способной минимизировать эффект ваших самых дорогих вычислений. Даже такое простое решение, как снижение качества скрипта, следующего за путем, когда объект находится за кадром, может в конечном итоге привести к значительной экономии.
источник
Требуется память, чтобы поддерживать ее в актуальном состоянии и обновлять ее положение и другие свойства.
Но он не использует компьютерные / мобильные графические ресурсы, так как он не виден.
Так что да, он потребляет ресурсы памяти, но не графические ресурсы, как это делает видимый игровой объект.
источник
Все, что находится в программе, потребляет ресурсы; Ты же не думаешь, что программы работают на надежде и мечте?
Вопрос должен состоять в том, сколько ресурсов потребляет игровой объект, и для этого я думаю, что это довольно солидный ответ: http://answers.unity3d.com/questions/280455/how-much-memory-a-gameobject- consume.html
Короче говоря, они потребляют незначительные ресурсы самостоятельно. Но почему вы хотите, чтобы куча игровых объектов просто сидела в вашей игре и ничего не делала? В конце концов, то, что вы на самом деле заставляете эти игровые объекты «делать», это то, что будет вызывать какие-либо накладные расходы, и сколько ресурсов требуется, очень много в каждом конкретном случае.
источник